Wednesday, May 29, 2013

ProductLookup Droplet : ATG

We used /atg/commerce/catalog/ProductLookup, a component that is an instance of atg.commerce.catalog.custom.CatalogItemLookupDroplet class, to fetch product attributes from the repository. This is the beginning of the code from product.jsp where we used the ProductLookup component: 


<dsp:droplet name="/atg/commerce/catalog/ProductLookup">
  <dsp:oparam name="output">

<table border=0 cellpadding=4>
<tr>
   <td>
      <span class=categoryhead>
      <dsp:valueof param="element.displayName">No name</dsp:valueof></span>
      <br>
      <b><dsp:valueof param="element.description"/></b></td>
   </td>
</tr>
<tr valign=top>
   <td>
      <dsp:include page="../common/FormError.jsp" flush="false"></dsp:include>
      <dsp:droplet name="IsEmpty">
         <dsp:param name="value" param="element.largeImage.url"/>
         <dsp:oparam name="false">
      <dsp:getvalueof id="imageURL" param="element.largeImage.url"
         idtype="java.lang.String">
         <dsp:img hspace="70" alt="Product image" src="<%=imageURL%>"/>
      </dsp:getvalueof>
      </dsp:oparam>
      </dsp:droplet>

      <dsp:getvalueof id="pval0" param="element"><dsp:include
         page="SKUProperties.jsp" flush="false"><dsp:param name="product"
         value="<%=pval0%>"/></dsp:include></dsp:getvalueof>
      <br>
      <span class=smallb>Product Description</span><br>
      <span class=small><dsp:valueof param="element.longDescription">
         No description</dsp:valueof>
      </span>
   </td>
</tr>
</table>

</dsp:oparam>
</dsp:droplet>




ProductLookup takes an id parameter as input; in this case, it is the repository ID of the product, from the product link the user clicked on the category page. It then binds the element parameter to the product with the id that was passed in. In this code example, we didn’t explicitly pass the id parameter to the ProductLookup component. The page-level id parameter was already defined at the top of the page as an input parameter and thus implicitly passed to ProductLookup.



The following code shows how we displayed the product’s longDescription property, or, a default value if the product does not have a longDescription value:

<dsp:valueof param="element.longDescription">No description</dsp:valueof>

The following code example shows how we displayed the product’s image if it is not null.



<dsp:droplet name="IsEmpty">
   <dsp:param name="value" param="element.largeImage.url"/>
   <dsp:oparam name="false">
      <dsp:getvalueof id="imageURL" param="element.largeImage.url"
         idtype="java.lang.String">
      <dsp:img hspace="70" alt="Product image" src="<%=imageURL%>"/>
      </dsp:getvalueof>
   </dsp:oparam>
</dsp:droplet>



                                                                                                                                                                    

1 comment:

Unknown said...

Thanks for sharing, nice post!

Phục vụ cho nhu cầu vận chuyển container bằng đường bộ ngày càng lớn, vận chuyển xăng dầu bằng đường sắt và vận tải, gửi hàng hóa vận chuyển xe máy bắc nam bằng đường sắt cũng đã xây dựng nên những qui trình, dịch vụ vận chuyển hàng hóa bằng các toa xe chuyên dùng chuyên nghiệp và có hệ thống. Đảm bảo mang đến chất lượng tốt nhất cho khách hàng sử dụng dịch vụ.

Popular Posts