Ajouter les bibliothèques clientes

Ajouter un dossier ClientLibraryFolder (clientlibs)

Créez un dossier ClientLibraryFolder nommé clientlibs qui contiendra les fichiers JS et CSS utilisés pour générer les pages de votre site.

La valeur de propriété categories donnée à cette bibliothèque cliente est l'identifiant utilisé pour inclure directement cette bibliothèque cliente à partir d'une page de contenu ou pour l'incorporer dans d'autres bibliothèques clientes.

  1. En utilisant CRXDE Lite, développez /etc/designs

  2. Cliquez avec le bouton droit de la souris sur an-scf-sandbox et sélectionnez Create Node.

    • Nom : clientlibs
    • Type : cq:ClientLibraryFolder
  3. Cliquez sur OK

add-client-library

Dans l'onglet Propriétés du nouveau noeud clientlibs, saisissez la propriété catégories :

  • Nom :catégories
  • Type :chaîne
  • Valeur : apps.an-scf-sandbox
  • Cliquez sur Ajouter
  • Cliquez sur Enregistrer tout

Remarque : la préface de la valeur catégories avec "applications". est une convention permettant d'identifier l'application propriétaire comme se trouvant dans le dossier /apps et non /libs. IMPORTANT : Ajoutez les fichiers d’espace réservé js.txt et css.txt. (Il ne s’agit pas officiellement d’un cq:ClientLibraryFolder sans eux.)

  1. Cliquez avec le bouton droit /etc/designs/an-scf-sandbox/clientlibs
  2. Sélectionnez Créer un fichier…
  3. Saisissez Nom : css.txt
  4. Sélectionnez Créer un fichier…
  5. Saisissez Nom : js.txt
  6. Cliquez sur Enregistrer tout

clientlibs-css

La première ligne des fichiers css.txt et js.txt identifie l’emplacement de base à partir duquel les listes de fichiers suivantes doivent être trouvées.

Essayez de définir le contenu de css.txt sur

#base=.
 style.css

Créez ensuite un fichier sous clientlibs nommé style.css, puis définissez le contenu sur

body {

background-color: #b0c4de;

}

Incorporer les bibliothèques clientes SCF

Dans l'onglet Propriétés du noeud clientlibs, saisissez la propriété String à plusieurs valeurs embed. Cette opération intègre les bibliothèques côté client (clientlibs) nécessaires pour les composants SCF. Pour ce tutoriel, de nombreux clientlibs nécessaires aux composants Communautés sont ajoutés.

Il convient de noter que cette approche peut ou non être souhaitée pour un site de production car il y a des considérations de commodité par rapport à la taille/vitesse des clientlibs téléchargés pour chaque page.

Si vous n’utilisez qu’une seule fonction sur une page, vous pouvez inclure directement la bibliothèque cliente complète de cette fonction sur la page, par exemple :

% ui:includeClientLib categories=cq.social.hbs.forum" %

Dans ce cas, les clients SCF les plus basiques qui sont les clientlibs d'auteur sont privilégiés :

  • Nom : embed

  • Type : String

  • Cliquez sur Multi

  • Valeur : cq.social.scf

    • Il affiche une boîte de dialogue,
      cliquez sur + après chaque entrée pour ajouter les catégories clientlib suivantes :

      • cq.ckeditor
      • cq.social.author.hbs.comments
      • cq.social.author.hbs.forum
      • cq.social.author.hbs.rating
      • cq.social.author.hbs.reviews
      • cq.social.author.hbs.voting
      • Cliquez sur OK
  • Cliquez sur Enregistrer tout

scf-clientlibs

Voici comment /etc/designs/an-scf-sandbox/clientlibs doit maintenant apparaître dans le référentiel :

scf-clientlibs-vue

Inclure les bibliothèques clientes dans le modèle PlayPage

Sans inclure la catégorie apps.an-scf-sandbox ClientLibraryFolder sur la page, les composants SCF ne seront pas fonctionnels ni stylisés, car le(s) code(s) JavaScript et le(s) style(s) nécessaire(s) ne seront pas disponibles.

Par exemple, sans inclure les clientlibs, le composant de commentaires SCF apparaît sans style :

clientlibs-comment

Une fois les clientlibs apps.an-scf-sandbox inclus, le composant de commentaires SCF s’affiche avec le style suivant :

clientlibs-comment-style

L'instruction include appartient à la section head du script html. Le foundation head.jsp par défaut comprend un script qui peut être superposé : headlibs.jsp.

Copiez headlibs.jsp et incluez clientlibs :

  1. En utilisant CRXDE Lite, sélectionnez /libs/foundation/components/page/headlibs.jsp

  2. Cliquez avec le bouton droit de la souris et sélectionnez Copier (ou sélectionnez Copier dans la barre d’outils).

  3. Sélectionner /apps/an-scf-sandbox/components/playpage

  4. Cliquez avec le bouton droit de la souris et sélectionnez Coller (ou sélectionnez Coller dans la barre d’outils).

  5. Doublon-cliquer sur headlibs.jsp pour l’ouvrir

  6. Ajouter la ligne suivante à la fin du fichier
    <ui:includeClientLib categories="apps.an-scf-sandbox"/>

  7. Cliquez sur Enregistrer tout

<%@ page session="false" %><%
%><%@include file="/libs/foundation/global.jsp" %><%
%><ui:includeClientLib categories="cq.foundation-main"/><%
%>
<cq:include script="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp"/>
<% currentDesign.writeCssIncludes(pageContext); %>
<ui:includeClientLib categories="apps.an-scf-sandbox"/>

Chargez votre site Web dans le navigateur et vérifiez si l’arrière-plan n’est pas bleu.

https://localhost:4502/content/an-scf-sandbox/en/play.html

communauté-play

Sauvegarder votre travail jusqu'à présent

A ce stade, il existe un sandbox minimaliste, et il peut être utile d'enregistrer sous forme de package pour que, lors de la lecture, si votre référentiel est corrompu et que vous souhaitez le début, vous puissiez désactiver votre serveur, renommer ou supprimer le dossier crx-quickstart/, activer votre serveur, télécharger et installer ce package enregistré, et ne pas avoir à répéter ces étapes les plus basiques.

Ce package existe sur le didacticiel Créer un exemple de page pour ceux qui ne peuvent pas attendre d'entrer et de jouer à début !..

Pour créer un pack :

  • Dans le CRXDE Lite, cliquez sur l’icône Package

  • Cliquez sur Créer un package

    • Nom du package : an-scf-sandbox-minimal-pkg
    • Version : 0,1
    • Groupe: leave as default
    • Cliquez sur OK
  • Cliquez sur Modifier

    • Sélectionner Filtres onglet

      • Cliquez sur Ajouter le filtre
      • Chemin racine : accédez à /apps/an-scf-sandbox
      • Cliquez sur Terminé
      • Cliquez sur Ajouter le filtre
      • Chemin racine : accédez à /etc/designs/an-scf-sandbox
      • Cliquez sur Terminé
      • Cliquez sur Ajouter le filtre
      • Chemin racine : accédez à /content/an-scf-sandbox**
      • Cliquez sur Terminé
    • Cliquez sur Enregistrer

  • Cliquez sur Créer

Vous pouvez désormais sélectionner Télécharger pour l’enregistrer sur le disque et Télécharger le package ailleurs, ainsi que Plus > Répliquer pour pousser le sandbox vers une instance de publication hôte local afin de développer le domaine de votre sandbox.

Sur cette page