Distinction entre code ImpEx à importer depuis le backoffice et code ImpEx à intégrer dans un fichier *.impex
Dans nos exemples, nous allons partir du même code pour bien souligner les différences (elles ne sont pas nombreuses).
Code ImpEx à importer depuis le backoffice
L’interface backoffice pour importer du contenu ImpEx est disponible dans le CMS Cockpit Hybris via ce chemin : Hybris administration console > Console > ImpEx import
, onglet Import content. Exemple de contenu importable :
1 2 3 4 5 6 7 8 9 10 11 |
$lang=fr $contentCatalog=adb-frContentCatalog $contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Online])[default=$contentCatalog:Online] ####### Static text for assitance & FAQ INSERT_UPDATE CMSHtmlComponent; $contentCV[unique = true]; uid[unique = true]; name; text[lang = $lang]; javascript; contentPageLabelOrId(&linkRef)[allownull = true]; images(&cmsImage)[allownull = true]; &componentRef; ; ; AssitanceFAQCMSHtmlComponent ; Bloc Assistance ; "<div class='assistance-block'> <h4 class='title'>Assistance <i class='icon'></i></h4> <p class='text'>Consultez notre <strong><a href='#'>FAQ</a></strong> | Appelez-nous au <strong>09 69 39 79 09</strong><br /><span class='small'>(Appel non surtaxé)</span></p> </div>" ; ; ; ; AssitanceFAQCMSHtmlComponent ####### END Static text for assitance & FAQ |
Un code d’en-tête nécessaire à la moulinette BO qui réalise l’import (sans ces en-têtes correctement renseignées, l’import ne pourra pas être exécuté) :
1 2 3 |
$lang=fr $contentCatalog=adb-frContentCatalog $contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Online])[default=$contentCatalog:Online] |
code ImpEx à intégrer dans un fichier *.impex
Chemin vers le fichier : bin/custom/myproject/myprojectinitialdata/resources/myprojectinitialdata/import/sampledata/contentCatalogs/myproject-frContentCatalog/cms-content.impex
.
1 2 3 4 5 6 7 |
####### Static text for assitance & FAQ INSERT_UPDATE CMSHtmlComponent; $contentCV[unique = true]; uid[unique = true]; name; text[lang = $lang]; javascript; contentPageLabelOrId(&linkRef)[allownull = true]; images(&cmsImage)[allownull = true]; &componentRef; ; ; AssitanceFAQCMSHtmlComponent ; Bloc Assistance ; "<div class='assistance-block'> <h4 class='title'>Assistance <i class='icon'></i></h4> <p class='text'>Consultez notre <strong><a href='#'>FAQ</a></strong> | Appelez-nous au <strong>09 69 39 79 09</strong><br /><span class='small'>(Appel non surtaxé)</span></p> </div>" ; ; ; ; AssitanceFAQCMSHtmlComponent ####### END Static text for assitance & FAQ |
Le code d’en-tête n’est, à la différence du cas d’importation depuis le backoffice, pas nécessaire (mieux, même : il ne faut pas le mettre).
Plusieurs choses à savoir sur la manière d’écrire des ImPex dans un projet Hybris (valable pour les deux méthodes d’import)
- Les deux manipulations doivent être obligatoirement effectuées. Vous ne pouvez pas choisir entre l’une ou l’autre et vous affranchir de la seconde.
-
L’utilisation des caractères
' '
pour les différents attributs déclarés sur les éléments HTML :1<h4 class='title'>Assistance <i class='icon'></i></h4> -
Le doublage systématique des caractères
'
ou"
lorsque ceux-ci sont utilisés dans un contenu texte (pas d’exemple dans le gros bout de code plus haut, mais voir ci-dessous) :1<p class='text'>Mon chien s''appelle ""Reviens"".</p>