Balise : widgetImport

La balise wcpgl:widgetImport permet d'importer un ou plusieurs widgets à la fois. Les widgets peuvent être importés en fonction du paramètre d'ID d'emplacement ou du paramètre d'identificateur de widget.

La structure Commerce Composer gère les valeurs de paramètres d'ID d'emplacement spécifiés comme prioritaires sur les identificateurs de widget. La structure utilise la balise pour identifier et récupérer les définitions de widgets pour les widgets avec l'ID d'emplacement spécifié. Si aucun widget ne correspond aux valeurs d'ID d'emplacement, les valeurs d'identificateur de widget sont utilisées pour récupérer les définitions de widget. Une fois que les définitions de widgets sont trouvées, le chemin d'accès du fichier JSP dans les définitions est utilisé pour importer les widgets. Si aucune définition de widget ne peut être trouvée avec les valeurs d'ID d'emplacement et d'identificateur de widget, aucun widget n'est importé. Si le mode de débogage est défini sur true, un message d'erreur s'affiche sur la page du magasin.

Vous pouvez utiliser la balise d'importation de widget Commerce Composer aux fins suivantes :
  • Utiliser la balise dans le fichier JSP principal pour que la structure Commerce Composer importe un modèle d'agencement entier. Vous pouvez utiliser la balise à cette fin en incluant la balise avec le format suivant
     wcpgl:widgetImport uniqueID="${rootWidget.widgetDefinitionIdentifier.uniqueID}" debug=false
  • Utiliser la balise dans le fichier JSP du modèle d'agencement pour que la structure Commerce Composer importe les widgets correspondants pour chaque emplacement d'un agencement. Vous pouvez utiliser la balise à cette fin en incluant la balise avec le format suivant :
    wcpgl:widgetImport slotId="1" 
La balise étend la fonctionnalité de la balise c:import, qui prend en charge l'importation d'un fichier JSP à l'aide de l'attribut URL. La balise widgetImport prend en charge l'importation d'un fichier JSP à l'aide de l'attribut URL, de la définition de l'agencement ou de la définition du widget. L'ordre de priorité pour l'importation de fichiers JSP est le suivant :
  1. URL - Si cet attribut n'est pas null, le JSP associé à l'attribut est importé. Aucun autre traitement n'est effectué.
  2. slot ID - Si cet attribut est défini, les widgets sont importés en fonction de la définition de l'agencement et des widgets associés à l'ID d'emplacement. Si l'ID d'emplacement est défini, plusieurs widgets peuvent être importés pour l'ID d'emplacement. Les widgets sont importés séquentiellement.
  3. identifier - Si la définition du widget ne peut pas être trouvée avec l'ID d'emplacement, ou si l'ID d'emplacement est null, l'identificateur est utilisé pour trouver les widgets à importer.

Informations sur la balise

Informations sur la balise
Contenu de l'élément 'Body' empty

Attributs

Nom Obligatoire Date/heure de la requête Type Description
slotId false true java.lang.String ID d'emplacement des widgets à importer.
identifier false true java.lang.String Identificateur de widget pour les widgets à importer.
uniqueID false true java.lang.String ID unique de widget pour les widgets à importer.
debug false true java.lang.String Si la valeur de cet attribut est définie sur false, aucune exception n'est levée et aucun widget d'erreur n'est affiché sur la page du magasin lorsque l'importation du widget échoue.
varPageDesignDetails false true java.lang.String Nom de la variable sous laquelle vous pouvez trouver l'objet SDO logique de conception de page. Si cet attribut n'est pas fourni, la valeur de PAGE_DESIGN_DETAILS_VAR par défaut est utilisée comme nom de la variable. Si cet attribut n'est pas défini et que PAGE_DESIGN_DETAILS_VAR n'est pas défini, la balise ne peut pas accéder à l'objet SDO logique de conception de page.
singletonKey false true java.lang.String Variable qui contient le nom de la clé utilisée pour vérifier si un widget est déjà importé. Utilisez cet attribut pour une fonctionnalité de singleton, c'est-à-dire lorsqu'un widget ne doit être importé qu'une seule fois dans le cadre d'une requête. Cette importation unique se produit même lorsqu'il y a plusieurs importations trouvées dans différents fichiers JSP. Toute importation ultérieure du widget est ignorée. Utilisez cette fonctionnalité pour inclure des widgets comme EnvironmentSetup ou SearchSetup . singletonKey est utilisé pour identifier si un widget est déjà importé. Assurez-vous que la même valeur pour l'attribut est utilisée pour toutes les importations de widgets qui ne doivent être incluses qu'une seule fois.
Le tableau suivant identifie les attributs de la balise wcpgl:widgetImport, qui sont également définis pour la balise c:import dans les définitions de la bibliothèque de balises c.tld WebSphere Application Server. Comme les définitions de la bibliothèque de balises ne peuvent pas être étendues, les attributs sont redéfinis dans la classe pour la balise wcpgl:widgetImport

Attributs de balise c:import redéfinis pour la balise wcpgl:widgetImport

Nom Obligatoire Date/heure de la requête Type Description
url false true java.lang.String URL de la ressource à importer.
var false false java.lang.String Nom des variables étendues exportées pour le contenu de la ressource. Le type de la variable étendue est String.
scope false false java.lang.String Portée de l'attribut var.
varReader false false java.lang.String Nom de la variable étendue exportée pour le contenu de la ressource. Le type de la variable étendue est Reader.
context false true java.lang.String Nom du contexte lors de l'accès à une ressource URL relative appartenant à un contexte étranger.
charEncoding false true java.lang.String Codage de caractères du contenu à la ressource d'entrée.

EXEMPLE

Cette balise peut être utilisée dans le fichier JSP de définition de conteneur pour un modèle d'agencement. Vous pouvez utiliser cette balise dans une définition de conteneur pour identifier si un widget peut être inclus dans un emplacement de modèle d'agencement. Par exemple, le fragment de code suivant, issu du fichier ProductPageContainer.jsp, définit les emplacements d'un modèle d'agencement destiné à être utilisé dans la composition d'agencements pour les pages d'entrée de catalogue. Dans ce fichier, la définition des emplacements de modèle inclut la balise wcpgl:widgetImport permettant d'identifier qu'un widget peut être inclus dans cet emplacement :
<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>