Personnalisez un widget fourni pour modifier son comportement à utiliser sur votre vitrine.Pour cet exemple de personnalisation, le widget Emplacement e-marketing est personnalisé pour inclure un message statique. Pour ce faire, vous devez copier le widget et toutes ses dépendances statiques dans l'archive Web du magasin personnalisé et mettre à jour le JSP du widget pour référencer correctement ses dépendances dans l'archive Web du magasin personnalisé et dans l'archive Web du magasin fourni par IBM. Pour plus d'informations sur le widget d'emplacement e-Marketing, voir
Widget Emplacement E-Marketing. Pour plus d'informations sur la création de widgets, voir
Création de widgets.
Procédure
-
Créez le widget personnalisé dans l'archive Web du magasin personnalisé.
Par exemple :
-
Copiez le fichier de page JavaServer du widget EMarketingSpot.jsp à partir de l'archive Web des magasins fournis par HCL (crs-web.war) dans l'archive Web du magasin personnalisé (crs-web.war).
- Copiez le fichier d'origine à partir de l'archive Web du magasin fourni par IBM à partir du répertoire /WebContent/Widgets_701/.
- Placez le fichier dans l'archive Web du magasin personnalisé sous le répertoire /WebContent/Widgets_MyCompany/com.ibm.commerce.store.widgets.EMarketingSpot, et renommez-le MyEMarketingSpot.jsp. Le répertoire Widgets_MyCompany contient tous les widgets personnalisés.
-
Ouvrez le fichier MyEmarketingSpot.jsp à l'aide d'un éditeur de texte.
-
Mettez à jour le fichier JSP de widget personnalisé afin qu'il pointe vers l'archive Web fournie par IBM pour s'appuyer sur les fichiers JSP existants.
- Localisez les références de balise
<c:import> qui font référence à d'autres widgets. Par exemple, <c:import url="${env_siteWidgetsDir}com.ibm.commerce.store.widgets.CategoryRecommendation/CategoryRecommendation.jsp">
- Modifiez chaque référence à l'aide de l'attribut context pour utiliser l'archive Web fournie par IBM. Par exemple :
<c:import context="${staticIBMAssetContextRoot}" url="${env_siteWidgetsDir}com.ibm.commerce.store.widgets.CategoryRecommendation/CategoryRecommendation.jsp">
-
Mettez à jour le fichier JSP du widget personnalisé pour qu'il pointe vers les fragments JSP corrects (fichiers JSPF) inclus par la méthode include dans le fichier JSP du widget.
Les fichiers JSP statiques ne peuvent inclure que des fichiers situés dans la même archive Web. Par conséquent, vous devez copier ces dépendances et mettre à jour le code d'inclusion du JSP du widget personnalisé pour qu'il pointe vers le répertoire approprié pour les dépendances, dans la même archive Web.
- Copiez les fragments JSP inclus de l'archive Web de magasin fournie par IBM vers l'archive Web du magasin personnalisé. Copiez StorePreviewShowInfo_End.jspf, EnvironmentSetup.jspf, EMarketingSpot_Data.jspf, etc.
- Recherchez les références d'inclusion qui font référence aux dépendances de fragment JSP. Par exemple :
<%@ include file="/Widgets_701/Common/StorePreviewShowInfo_End.jspf" %>
- Modifiez les chemins de fichier d'inclusion afin qu'ils pointent vers le nouvel emplacement des fragments JSP. Par exemple :
<%@ include file="../Common/StorePreviewShowInfo_End.jspf" %>
-
Ajoutez votre personnalisation. Pour cet exemple, ajoutez du texte au widget.
- Dans le widget JSP, trouvez la ligne
<c:forTokens items="${displayOrder}" delims="," var="type" varStatus="status">.
- Ajoutez une ligne au-dessous pour insérer une image
<c:out value=”customizable”/>.
-
Mettez à jour la définition de widget existante dans la base de données.
Dans la table
PLWIDGETDEF :
- Définissez le FOURNISSEUR sur MyCompany.
- Définissez la valeur JSPPATH sur /Widgets_MyCompany/com.ibm.commerce.store.widgets.EMarketingSpot/MyEMarketingSpot.jsp.
Pour ce faire, vous pouvez utiliser une instruction telle que :
Update PLWIDGETDEF
set Vendor=’MyCompany’, JSPPATH=’/Widgets_MyCompany/com.ibm.commerce.store.widgets.EMarketingSpot/MyEMarketingSpot.jsp’
where IDENTIFIER=’EMarketingSpot_701’ and STOREENT_ID=’0’;
-
Redémarrez le serveur du magasin.
Résultats
Accédez à la vitrine pour observer le message dans le widget modifié.