La etiqueta wcpgl:widgetImport
permite importar uno o más widgets a la vez. Los widgets se pueden importar basándose en el parámetro de ID de ranura o en el parámetro Identifier de widget.
La infraestructura de Commerce Composer maneja los valores de parámetro de ID de ranura especificados como la prioridad más alta que los identificadores de widget. La infraestructura utiliza la etiqueta para identificar y recuperar las definiciones de widget para los widgets con el ID de ranura especificado. Si ningún widget coincide con los valores de ID de ranura, los valores de identificador de widget se utilizan para recuperar las definiciones de widget. Una vez que se han encontrado las definiciones de widget, se utiliza la vía de acceso del archivo JSP en las definiciones para importar los widgets. Si no se puede encontrar ninguna definición de widget con el ID de ranura o los valores de identificador de widget, no se importará ningún widget. Si la modalidad de depuración se establece en true
, se visualiza un mensaje de error en la página de la tienda.
Puede utilizar la etiqueta de importación de widget de Commerce Composer para los siguientes fines:
La etiqueta amplía la funcionalidad del código
c:import
, que da soporte a la importación de un archivo JSP utilizando el atributo
URL
. La etiqueta
widgetImport
da soporte a la importación de un archivo JSP utilizando el atributo
URL
, la definición de diseño o la definición de widget. El orden de prioridad para importar archivos JSP es:
URL
- Si este atributo no es nulo, se importará el JSP asociado al atributo. No se realiza ningún proceso adicional.
slot ID
- Si se establece este atributo, los widgets se importan basándose en la definición de diseño y los widgets que están asociados con el ID de ranura. Si se establece el ID de ranura, se pueden importar varios widgets para el ID de ranura. Los widgets se importan secuencialmente.
identifier
- Si la definición de widget no se puede encontrar con el ID de ranura, o si el ID de ranura es nulo, el identificador se utiliza para buscar los widgets a importar.
Información de etiqueta
Información de etiqueta |
Contenido del cuerpo |
empty |
Atributos
Nombre: |
Obligatorio |
Tiempo de petición |
Tipo |
Descripción: |
slotId |
false |
true |
java.lang.String |
Los ID de ranura de los widgets que se van a importar. |
identifier |
false |
true |
java.lang.String |
El identificador de widget para los widgets que se van a importar. |
uniqueID |
false |
true |
java.lang.String |
El widget ID exclusivo de los widgets que se van a importar. |
debug |
false |
true |
java.lang.String |
Si el valor de este atributo se establece en false, no se genera ninguna excepción y no se muestra ningún widget de error en la página de tienda cuando falla la importación de widget. |
varPageDesignDetails |
false |
true |
java.lang.String |
El nombre de variable bajo el que puede encontrar el objeto SDO lógico de diseño de página. Si no se proporciona este atributo, se utiliza el valor predeterminado de PAGE_DESIGN_DETAILS_VAR como nombre de variable. Si este atributo no está definido y PAGE_DESIGN_DETAILS_VAR no está definido, la etiqueta no puede acceder al objeto SDO lógico de diseño de página. |
singletonKey |
false |
true |
java.lang.String |
La variable que contiene el nombre de la clave que se utiliza para comprobar si un widget ya se ha importado. Utilice este atributo para una característica singleton, que es cuando un widget se debe importar solo una vez en un ámbito de solicitud. Esta importación individual se produce incluso cuando se encuentran varias importaciones en diferentes archivos JSP. Se ignora cualquier importación posterior del widget. Utilice esta característica para incluir widgets como EnvironmentSetup o SearchSetup . singletonKey se utiliza para identificar si un widget ya se ha importado. Asegúrese de que se utiliza el mismo valor para el atributo en todas widget importaciones que deben incluirse una sola vez. |
La tabla siguiente identifica atributos para el código
wcpgl:widgetImport
, que también están definidos para la etiqueta
c:import
dentro de las definiciones de biblioteca de códigos
c.tld
de WebSphere Application Server. Dado que las definiciones de biblioteca de códigos no se pueden ampliar, los atributos se redefinen dentro de la clase para la etiqueta
wcpgl:widgetImport
.
c:import
atributos de etiqueta redefinidos para la etiqueta wcpgl:widgetImport
Nombre: |
Obligatorio |
Tiempo de petición |
Tipo |
Descripción: |
url |
false |
true |
java.lang.String |
La URL del recurso que se va a importar. |
var |
false |
false |
java.lang.String |
El nombre de las variables de ámbito exportadas para el contenido del recurso. El tipo de la variable con ámbito es String . |
scope |
false |
false |
java.lang.String |
El ámbito del atributo var . |
varReader |
false |
false |
java.lang.String |
El nombre de la variable de ámbito exportada para el contenido del recurso. El tipo de la variable con ámbito es Reader . |
context |
false |
true |
java.lang.String |
El nombre del contexto cuando especifica un recurso de URL relativo que pertenece a un contexto foráneo. |
charEncoding |
false |
true |
java.lang.String |
La codificación de caracteres del contenido en el recurso de entrada. |
EJEMPLO
Este código se puede utilizar dentro del archivo JSP de definición de contenedor para una plantilla de diseño. Puede utilizar este código dentro de una definición de contenedor para identificar si un widget se puede incluir en una ranura de plantilla de diseño. Por ejemplo, el siguiente fragmento de código, del archivo ProductPageContainer.jsp, define ranuras para una plantilla de diseño que está pensada para utilizarse en la composición de diseños para páginas de entrada de catálogo. Dentro de este archivo, la definición de las ranuras de plantilla incluye la etiqueta wcpgl:widgetImport
para identificar que se puede incluir un widget en esta ranura:<div class="product_page_content rowContainer <c:if test='${foundCurrentSlot7 == true}'>bundle_package_page</c:if>"
id="container_${pageDesign.layoutID}" role="main">
<div class="row margin-true">
<div class="col12 slot1" data-slot-id="1"><wcpgl:widgetImport slotId="1"/></div>
</div>
<div class="row">
<div class="col6 acol12 slot2" data-slot-id="2"><wcpgl:widgetImport slotId="2"/></div>
<div class="col6 acol12 slot3" data-slot-id="3"><wcpgl:widgetImport slotId="3"/></div>
</div>