Création des composants create-the-components

L’exemple d’extension de composants utilise le système de commentaires, composé de deux composants.

  • Commentaires : système de commentaires englobant qui est le composant placé sur une page.
  • Commentaire : composant qui capture une instance d’un commentaire publié.

Les deux composants doivent être mis en place, en particulier si vous personnalisez l’apparence d’un commentaire publié.

NOTE
Un seul système de commentaires par page de site est autorisé.
De nombreuses fonctionnalités de Communities incluent déjà un système de commentaires dont resourceType peut être modifié pour référencer le système de commentaires étendu.

Création du composant Commentaires create-the-comments-component

Ces instructions spécifient une Groupe valeur autre que .hidden le composant peut donc être rendu disponible à partir de l’explorateur de composants (sidekick).

La suppression du fichier JSP créé automatiquement est due à l’utilisation du fichier HBS par défaut.

  1. Accédez à CRXDE|Lite (http://localhost:4502/crx/de/index.jsp)

  2. Créez un emplacement pour les applications personnalisées :

    • Sélectionnez la variable /apps node

      • Créer un dossier named custom
    • Sélectionnez la variable /apps/custom node

      • Créer un dossier named components
  3. Sélectionnez la variable /apps/custom/components node

    • Créer > Composant…

      • Libellé: commentaires
      • Titre: Commentaires Alt
      • Description: Style de commentaire alternatif
      • Super Type: social/commons/components/hbs/comments
      • Groupe: Personnalisé
    • Sélectionnez Suivant

    • Sélectionnez Suivant

    • Sélectionnez Suivant

    • Sélectionnez OK

  4. Développez le noeud qui a été créé : /apps/custom/components/comments

  5. Sélectionnez Enregistrer tout

  6. Faites un clic-droit comments.jsp

  7. Sélectionnez Supprimer

  8. Sélectionnez Enregistrer tout

create-component

Création du composant Commentaire enfant create-the-child-comment-component

Ces instructions sont définies Groupe to .hidden car seul le composant parent doit être inclus dans une page.

La suppression du fichier JSP créé automatiquement est due à l’utilisation du fichier HBS par défaut.

  1. Accédez au /apps/custom/components/comments node

  2. Cliquez avec le bouton droit sur le noeud.

    • Sélectionner Créer > Composant…

      • Libellé: comment
      • Titre: Commentaire Alt
      • Description: Autre style de commentaire
      • Super Type: social/commons/components/hbs/comments/comment
      • Groupe  : *.hidden*
    • Sélectionnez Suivant

    • Sélectionnez Suivant

    • Sélectionnez Suivant

    • Sélectionnez OK

  3. Développez le noeud qui a été créé : /apps/custom/components/comments/comment

  4. Sélectionnez Enregistrer tout

  5. Faites un clic-droit comment.jsp

  6. Sélectionnez Supprimer

  7. Sélectionnez Enregistrer tout

create-child-component

create-component-crxde

Copie et modification des scripts HBS par défaut copy-and-modify-the-default-hbs-scripts

Utilisation CRXDE Lite:

  • Copier comments.hbs

  • Modifier comments.hbs à :

    • Modifiez la valeur de la variable data-scf-component attribute (~line 20) :

      • De social/commons/components/hbs/comments
      • À /apps/custom/components/comments
    • Modifiez pour inclure le composant de commentaire personnalisé (~line 75) :

      • Remplacer {{include this resourceType='social/commons/components/hbs/comments/comment'}}
      • Avec {{include this resourceType='/apps/custom/components/comments/comment'}}
  • Copier comment.hbs

  • Modifier comment.hbs à :

    • Modifier la valeur de l’attribut data-scf-component (~ ligne 19)

      • De social/commons/components/hbs/comments/comment
      • À /apps/custom/components/comments/comment
  • Sélectionner /apps/custom node

  • Sélectionnez Enregistrer tout

Création d’un dossier de bibliothèques clientes create-a-client-library-folder

Pour éviter d’avoir à inclure cette bibliothèque cliente, la valeur de catégories de la bibliothèque cliente du système de commentaires par défaut peut être utilisée ( cq.social.author.hbs.comments). Cependant, cette bibliothèque cliente doit également être incluse pour toutes les instances du composant par défaut.

Utilisation CRXDE Lite:

  • Sélectionner /apps/custom/components/comments node

  • Sélectionner Créer un noeud

    • Nom  : clientlibs

    • Type  : cq:ClientLibraryFolder

    • Ajouter à Propriétés tab :

      • Nom categories Type String Valeur cq.social.author.hbs.comments Multi
      • Nom dependencies Type String Valeur cq.social.scf Multi
  • Sélectionnez Enregistrer tout

  • Avec /apps/custom/components/comments/clientlibSi le noeud est sélectionné, créez trois fichiers :

    • Nom  : css.txt
    • Nom  : js.txt
    • Nom: customcommentsystem.js
  • Saisissez "customcommentsystem.js" comme contenu de js.txt

  • Sélectionnez Enregistrer tout

comments-clientlibs

Enregistrement du modèle et de la vue SCF register-the-scf-model-view

Lors de l’extension (remplacement) d’un composant SCF, resourceType est différent (le recouvrement utilise le mécanisme de recherche relatif qui effectue la recherche dans /apps before /libs afin que resourceType reste identique). C’est pourquoi il est nécessaire d’écrire du code JavaScript (dans la bibliothèque cliente) pour enregistrer le modèle SCF JS et l’afficher pour la ressource personnalisée resourceType.

Saisissez le texte suivant comme contenu de customcommentsystem.js:

customcommentsystem.js customcommentsystem-js

(function($CQ, _, Backbone, SCF) {
    "use strict";

    var CustomComment = SCF.Components["social/commons/components/hbs/comments/comment"].Model;
    var CustomCommentView = SCF.Components["social/commons/components/hbs/comments/comment"].View;

    var CustomCommentSystem = SCF.Components["social/commons/components/hbs/comments"].Model;
    var CustomCommentSystemView = SCF.Components["social/commons/components/hbs/comments"].View;

    SCF.registerComponent('/apps/custom/components/comments/comment', CustomComment, CustomCommentView);
    SCF.registerComponent('/apps/custom/components/comments', CustomCommentSystem, CustomCommentSystemView);

})($CQ, _, Backbone, SCF);
  • Sélectionnez Enregistrer tout

Publication de l’application publish-the-app

Pour tester le composant étendu dans l’environnement de publication, il est nécessaire de répliquer le composant personnalisé.

Pour ce faire, procédez comme suit :

  • À partir de la navigation globale,

    • Sélectionner Outils > Déploiement > Réplication
    • Sélectionner Activer l’arborescence
    • Définissez Start Path sur /apps/custom.
    • Décocher Modifié uniquement
    • Sélectionner Activer button
recommendation-more-help
81e2cd9d-0789-409d-b87c-2a8ce4f28791