Utilisation de conditions de masquage using-hide-conditions

CAUTION
AEM 6.4 a atteint la fin de la prise en charge étendue et cette documentation n’est plus mise à jour. Pour plus d’informations, voir notre période de support technique. Rechercher les versions prises en charge here.

Vous pouvez utiliser des conditions de masquage pour déterminer si une ressource de composant est générée ou non. Par exemple, lorsqu’un créateur de modèles configure le composant principal composant de liste dans le éditeur de modèles et décide de désactiver les options pour créer la liste en fonction des pages enfants. La désactivation de cette option dans la boîte de dialogue de conception définit une propriété de sorte que lorsque le composant de liste est rendu, la condition de masquage est évaluée et l’option d’affichage des pages enfants n’est pas affichée.

Présentation overview

Les boîtes de dialogue peuvent devenir très complexes et contenir de nombreuses options pour l’utilisateur, qui ne peut utiliser qu’une fraction des options à sa disposition. Cela peut entraîner une surcharge des expériences de l’interface utilisateur pour les utilisateurs.

En utilisant les conditions de masquage, les administrateurs, les développeurs et les super-utilisateurs ont un moyen de masquer les ressources en fonction d’un ensemble de règles. Cette fonction leur permet de décider quelles ressources afficher lorsqu’un auteur modifie le contenu.

NOTE
Le masquage d’une ressource à partir d’une expression ne remplace pas les autorisations ACL. Le contenu reste modifiable mais n’est tout simplement pas affiché.

Détails relatifs à la mise en œuvre et à l’utilisation implementation-and-usage-details

com.adobe.granite.ui.components.FilteringResourceWrapper est chargé de filtrer les ressources en fonction de l’existence et de la valeur de la propriété granite:hide, située sur le champ à filtrer. L’implémentation de /libs/cq/gui/components/authoring/dialog/dialog.jsp comprend une instance de FilteringResourceWrapper.

L’implémentation utilise l’API ELResolver de Granite et ajoute une variable personnalisée cqDesign via ExpressionCustomizer.

Voici quelques exemples de conditions de masquage sur un nœud de conception situé sous etc/design ou sous la forme d’une stratégie de contenu.

${cqDesign.myProperty}
${!cqDesign.myProperty}
${cqDesign.myProperty == 'someText'}
${cqDesign.myProperty != 'someText'}
${cqDesign.myProperty == true}
${cqDesign.myProperty == true}
${cqDesign.property1 == 'someText' && cqDesign.property2 || cqDesign.property3 != 1 || header.myHeader}

Lors de la définition de votre expression de masquage, veuillez tenir compte des points suivants :

  • Pour être valide, le domaine dans lequel se trouve la propriété doit être exprimé (cqDesign.myProperty, par exemple).
  • Les valeurs sont en lecture seule.
  • Les fonctions (si nécessaire) doivent être limitées à un ensemble donné fourni par le service.

Exemple example

Vous trouverez des exemples de conditions de masquage dans AEM et dans les composants principaux en particulier. Par exemple, la variable composant principal de liste.

En utilisant l’éditeur de modèles, l’auteur de modèles peut définir, dans la boîte de dialogue de conception, les options du composant de liste mises à la disposition de l’auteur de pages. Des options telles que l’autorisation ou non d’une liste statique, d’une liste de pages enfants, d’une liste de pages balisées, etc. peuvent être activées ou désactivées.

Si un auteur de modèles choisit de désactiver l’option des pages enfants, une propriété de conception est définie et une condition de masquage est évaluée par rapport à celle-ci, ce qui entraîne l’absence de rendu de l’option pour l’auteur de pages.

  1. Par défaut, l’auteur de la page peut utiliser le composant principal Liste pour créer une liste à l’aide de pages enfants en sélectionnant l’option . Pages enfants.

    chlimage_1-218

  2. Dans la boîte de dialogue de création du composant principal Liste, l’auteur de modèles peut sélectionner l’option Désactiver les enfants pour éviter que l’option de génération d’une liste sur la base de pages enfants ne soit présentée à l’auteur de pages.

    chlimage_1-219

  3. Un nœud de stratégie est créé sous /conf/we-retail/settings/wcm/policies/weretail/components/content/list avec une propriété disableChildren définie sur true.

  4. La condition de masquage est définie comme la valeur d’une propriété granite:hide sur le nœud de propriété de boîte de dialogue /conf/we-retail/settings/wcm/policies/weretail/components/content/list.

    chlimage_1-220

  5. La valeur de disableChildren est extraite de la configuration de conception et l’expression ${cqDesign.disableChildren} est évaluée sur false, ce qui signifie que le rendu de l’option ne sera pas effectué dans le cadre du composant.

    Pour afficher l’expression de masquage en tant que valeur de la propriété granite:hide dans GitHub, cliquez ici.

  6. L’option Pages enfants n’est plus rendue pour l’auteur de pages lors de l’utilisation du composant de liste.

    chlimage_1-221

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e