This section describes additions and modifications to the product
item descriptor.
asSeenIn
asSeenIn
stores information about the locations where a customer might see a product, such as a magazine article or television show. For example, in the illustration of the As Seen In page below, the asSeenIn
property for the Straight Leg Jeans product is “Check out our full page ad for straight leg jeans for her on page 16 of the April issue of Eighteen Magazine.”
The asSeenIn
property is of type asSeenIn
.
The store.war/browse/asSeenIn.jsp
page is responsible for populating the As Seen In page in ATG Store. asSeenIn.jsp
uses the /atg/store/droplet/AsSeenInRQL
component to retrieve all products where the asSeenIn
property is not null, regardless of site context. It then uses /atg/store/droplet/CatalogItemFilterDroplet
to limit the products to those that are relevant for the current site. After filtering, asSeenIn.jsp
calls store.war/browse/asSeenInElement.jsp
which uses the contents of the asSeenIn
property when rendering the individual as-seen-in items.
The store.war/browse/gadgets/productAsSeenIn.jsp
gadget also uses the asSeenIn
property to populate As Seen In information that appears below the color/size picker on the product detail page for certain products.
Note: asSeenIn
is a Commerce Reference Store-specific item type. For detailed information, see Custom Item Descriptors in the Catalog Repository.
briefDescription
briefDescription
provides a brief description of the product. This property is included in the Search index.
emailAFriendEnabled
emailAFriendEnabled
is a Boolean property that controls whether an Email link appears on the product detail page, below the color/size picker, that allows you to e-mail a product description to a friend.
The store.war/browse/gadgets/productAction.jsp
gadget uses the emailAFriendEnabled
property to determine if the Email To A Friend option should appear.
features
features
is a list property of items of type feature
. It stores product characteristics (for example, material, color, and so on). The features.displayName
property is used as a global faceting property. See Faceted Search in the Search Integration chapter for more details.
Note: feature
is a Commerce Reference Store-specific item type. For detailed information, see Custom Item Descriptors in the Catalog Repository.
fullImage
fullImage
stores the largest version of a product image, in the form of a media-external
item. The store.war/browse/gadgets/productImage.jsp
gadget uses the fullImage
property to render a larger image of the product when a customer clicks the View Larger link on the product detail page.
The image is displayed in a dojox.image.Lightbox
. An example of the html rendered is:
<a class="atg_store_largerImage" href="/crsdocroot/content/images/products/full/APP_FrilledSkirt_full.jpg" dojotype="dojox.image.Lightbox" title="Frilled Skirt" id="dojox_image_Lightbox_1" widgetid="dojox_image_Lightbox_1">View Larger ></a>
mediumImage
mediumImage
stores a 150 x 150 pixel version of the product image, in the form of a media-external
item. This version of the product image is displayed in a variety of locations such as the Recently Viewed panel of the product detail page.
new
new
is a Boolean property that indicates whether an item is new or not. This property is manually defined for each product in the Commerce Reference Store sample data. The store.war/browse/newItems.jsp
page uses new
to determine which products to render on the New Items page, a portion of which is shown below.
The best practice approach to identifying new products is to calculate which products are new based on date. Because demonstration data gets stale quickly, Commerce Reference Store cannot use this methodology, so newItems.jsp
uses the manually defined new
property instead when it builds the query for new products in the catalog repository. If the new
property is not set to true
, newItems.jsp
compares a product’s daysAvailable
property against the site’s newProductThresholdDays
property. If the number of days the product has been available is less than or equal to the new product threshold, the product is considered new and rendered accordingly.
preorderable, preorderEndDate, and useInventoryForPreorder
Commerce Reference Store includes three properties for managing preorderable products:
preorderable
is a Boolean property that indicates whether an item is preorderable or not. Customers can order preorderable items before they are stocked in inventory.preorderEndDate
contains the date up until which a product may be preordered, which is generally the day the product becomes available for standard ordering.preorderEndDate
is an exclusive value; in other words, if the date is set to September 30th, the product may be preordered through September 29th.useInventoryForPreorder
is a Boolean property that controls whether a preordering limit exists for a product. When set tofalse,
a product has unlimited preordering capability. When set totrue
, a request to preorder is checked against a preorder inventory. When the preorder inventory is depleted, the product may no longer be preordered.
Commerce Reference Store includes two components that can be used to determine if a product is preorderable:
/atg/store/droplet/ProductDetailsDroplet
, which is an instance ofatg.projects.store.droplet.DefaultProductDetailsDroplet
. Commerce Reference Store uses this component when rendering the product detail page./atg/store/droplet/SkuAvailabilityLookup
, which is an instance ofatg.projects.store.droplet.SkuAvailabilityLookup
. Commerce Reference Store uses this component when rendering the gift list, wish list, and comparisons pages.
Both components call the atg.projects.store.inventory.StoreInventoryManager.queryAvailabilityStatus()
method, which determines availability based on a product’s properties and the inventory levels reported by the /atg/commerce/inventory/InventoryManager
component. StoreInventoryManager.queryAvailabilityStatus()
identifies a product as preorderable if the following conditions are met:
preorderable
property is true.preorderEndDate
has not yet passed or is null.useInventoryForPreorder
property is set to false, or it is set to true and preorder inventory is still available.
For an example of ProductDetailsDroplet
use, see store.war/browse/productDetailMultiSkuContainer.jsp
and store.war/browse/productDetailSingleSkuContainer.jsp
.
For an example of SkuAvailabilityLookup
use, see store.war/browse/gadgets/skuAvailabilityLookup.jsp
and store.war/browse/gadgets/multiSkuAvailabilityLookup.jsp
.
shippableCountries and nonShippableCountries
shippableCountries
stores a list of countries to which a product may be shipped, while nonShippableCountries
stores a list of countries to which a product may not be shipped. Use the shippableCountries
property in those instances where it is more efficient to list a small number of countries to which a product may be shipped. By contrast, use nonShippableCountries
when it is more efficient to list a small number of countries to which a product may not be shipped.
The /atg/store/droplet/ShippingRestrictionsDroplet
servlet component, which is used by a number of Commerce Reference Store gadgets, considers both properties when determining if a shipping address is valid for a particular item:
If
shippableCountries
is null, all countries are shippable, except those listed innonShippableCountries
.If
shippableCountries
contains one or more countries, only those countries are shippable andnonShippableCountries
is ignored.