Páginas de productos de la tienda de ejemplo
Una página de producto presenta un producto determinado de una
tienda en línea. Normalmente, incluye una descripción, el precio y una
imagen y, si el producto tiene atributos (por ejemplo, tallas y colores
diferentes), permite a los clientes elegir un atributo.
Para obtener más información sobre las páginas de productos y cómo funcionan,
consulte el Ejemplo de uso de Visualizar página de producto.
Mandatos
productdisplay.jsp utiliza los mandatos siguientes:
- OrderItemAdd
- InterestItemAdd (sólo WebFashion y NewFashion)
Beans
productdisplay.jsp utiliza los beans siguientes:
- CategoryDataBean
- ProductDataBean
Detalles sobre implementación
Nota: Para obtener información sobre las técnicas de
implementación comunes a todas las páginas de la tienda de ejemplo, incluida
la información multicultural, consulte Páginas
de la tienda de ejemplo: técnicas de implementación comunes.
ProductDisplay.jsp está registrado en la base de datos (en la tabla DISPENTREL)
para mostrar todos los productos de la tienda. ProductDisplay.jsp muestra lo siguiente:
- Descripción, imagen, atributos y valores de atributos del producto.
- Descripción breve de la categoría padre
- Enlace Añadir al carro de la compra
- Cuadro de texto Cantidad (sólo NewFashion)
- Enlace Añadir a la lista de deseos (sólo WebFashion y NewFashion)
- Descripción, imagen, atributos y valores de atributos del producto.
- La descripción y la imagen del producto se visualizan utilizando las propiedades ProductDataBean.
-
Los atributos del producto se recuperan utilizando el método
getAttributes() para ProductDataBean. Los valores de cada atributo se
recuperan utilizando el método getDistinctAttributeValues() de
AttributeAccessBean. Si ProductDataBean encuentra información en esta columna,
la página de visualización del producto muestra la imagen Hotmedia en lugar
de la imagen de tamaño normal.
- Descripción breve de la categoría padre
- El ID de la categoría padre se proporciona a las páginas de productos mediante el parámetro parent_category_rn.
Mediante CategoryDataBean se recupera una descripción breve de la
categoría padre. Por omisión, CategoryDataBean obtiene el ID de categoría
del parámetro categoryId.
En el ejemplo siguiente, el nombre del parámetro es parent_category_rn y el ID de categoría se establece explícitamente:
- String parentCategoryId = request.getParameter("parent_category_rn");
parentCategory = new CategoryDataBean ();
parentCategory.setCategoryId(parentCategoryId);
com.ibm.commerce.beans.DataBeanManager.activate(parentCategory, request);
- Añadir al carro de la compra
- El enlace Añadir al carro de la compra se implementa creando
un formulario que llama al mandato OrderItemAdd. En InFashion y WebFashion,
la cantidad de productos solicitados se establece por omisión en 1 utilizando un
campo oculto, como se muestra a continuación:
<input type="hidden" name="quantity" value="1">
-
- Puede sustituir el campo oculto por un cuadro de texto, de modo que los
clientes puedan especificar una cantidad diferente.
En la tienda NewFashion, la cantidad de productos solicitados se establece por
omisión en 1 utilizando un campo de texto, como se muestra a continuación:
<input type="text" name="quantity" value="1",size="2">
El campo de texto permite a los clientes especificar una cantidad diferente.
- Añadir al carro de la compra
y Añadir a la lista de deseos
- Cuando un cliente selecciona Añadir al carro de la compra o Añadir a la lista de deseos,
se llama al siguiente javascript.
<SCRIPT language="javascript">
function Add2ShopCart(form){
form.action='OrderItemAdd'
form.URL.value='OrderItemDisplay'
form.submit()
} function Add2WishList(form){
form.action='InterestItemAdd'
form.URL.value='InterestItemDisplay'
form.submit()
}
</SCRIPT>
Cuando el cliente añade algo al carro de la compra, se llama al mandato
OrderItemAdd. Cuando el cliente añade algo a la lista de deseos, se llama al
mandato InterestItemAdd.
Nota: Puede utilizar WebSphere Commerce Accelerator para crear
productos. Cuando cree productos, debe crear un precio para el producto para
verlo en las páginas de productos de la tienda de ejemplo. Si no crea un precio,
debe quitar el método getCalculatedContractPrice para el bean ProductDataBean.