Gestion de contenu et exemples de code Jelly

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 3 minutes de lecture
  • Exemples de code

    Exemple de code d’en-tête

    Ce bloc de contenu dynamique doit être actif et l’option « Deux phases » doit être sélectionnée. La balise g :requires inclut le script d’interface utilisateur défini dans le système dont le nom est « servicenow.website.global ». L’extension de fichier dans l’appel est .jsdbx et n’est utilisée que dans l’appel au script d’interface utilisateur, pas dans le nom du script dans le système. Pour JSDBX, le fichier appelé est un JavaScript(.js) défini dans la base de données (db) qui doit être mis en cache (x).

    <?xml version= "1.0" encoding= "utf-8" ?><j:jelly trim = "false" xmlns:j = "jelly:core" xmlns:g = "glide" xmlns:j2 = "null" xmlns:g2 = "null" >
     
        <g:requires name = "servicenow.website.globals.jsdbx" />
     
    </j:jelly>
    Exemple de code du titre et de la description de la page

    Ce bloc de contenu dynamique doit être actif. Cet extrait de code comporte deux actions. Le premier est un conteneur de chaîne orienté vers l’avenir qui permet la traduction du site, l’appel de chaîne ${gs.getMessage('Your Text')}). La deuxième action extrait le titre et la description de la page, ${current_page.getName()} et ${current_page.getDescription()}.

    <?xml version= "1.0" encoding= "utf-8" ?><j:jelly trim = "false" xmlns:j = "jelly:core" xmlns:g = "glide" xmlns:j2 = "null" xmlns:g2 = "null" >
     
    	<j:if test = "${current_page.getName()=='Solutions'}" ><h1 class = "page_name" > <b> <a href = "solutions.do?" title="${gs.getMessage('Solutions')}" >${gs.getMessage('Solutions')}</a> </b> </h1><p class = "page_description" >
    	 	    ${current_page.getDescription()}
    		</p> <br /></j:if><j:if test = "${current_page.getName()=='IT 3.0'}" ><h1 class = "page_name" > <b> <a href = "solutions.do?" title="${gs.getMessage('Solutions')}" >${gs.getMessage('Solutions')}</a> </b> | ${current_page.getName()}</h1><p class = "page_description" >
    	 	    ${current_page.getDescription()}
    		</p> <br /></j:if></j:jelly>
    Bloc de listes Extraction à partir d’articles de la base de connaissances Exemple de code

    Cet exemple de code contient l’une des meilleures astuces du CMS. L’utilisation du champ type avec des pioches dans un certain nombre de définitions de liste définies pour apporter des changements légers ou très importants à l’affichage de la liste. Parce que l’interface utilisateur est ouverte à la configuration et à l’innovation, c’est une bonne occasion d’utiliser les compétences en conception. Quiconque peut utiliser HTML et CSS sait qu’une liste de base peut être transformée en grille flottante ou être mise en ligne. Les combinaisons ne sont limitées que par ce que le concepteur peut imaginer et coder.

    Dans l’exemple de code, un champ de logo personnalisé (u_logo) a été ajouté au formulaire Connaissances. Le champ personnalisé affiche les logos des clients, des partenaires et des images de récompenses sur la page des récompenses. Il existe un certain nombre de sections différentes qui utilisent cette définition de liste, donc une réutilisation efficace a lieu.
    • div class="cms_knowledge_list customer_success » - Commencez par créer un conteneur externe avec un nom de classe unique qui peut être utilisé comme base pour les sélecteurs de style et les règles CSS. À partir du conteneur externe, de nombreux éléments enfants sont accessibles pour le thème.
    • <g :for_each_record file="${current} » max="${jvar_max_entries}"> : boucle pour la création de liste qui appelle l’enregistrement de table sélectionné et les entrées définies sur le formulaire de liste.
    • <a href="knowledge.do?sysparm_document_key=kb_knowledge,${current.sys_id}"><img src="${current.u_logo.getDisplayValue()}" alt="${current.text}" width="110px"/> - Définit le lien vers le détail de l’article dans la base de connaissances. Pour plus de référence, regardez les types de contenu dans la définition du site et vous verrez quelques similitudes. Le knowledge.do ? une partie de l’URL pointe vers la page détaillée de la base de connaissances qui (comme mentionné ci-dessus) est obligatoire si vous prévoyez d’appeler la base de connaissances dans votre site CMS. Le reste de l’URL représente la syntaxe d’appel d’un article de la base de connaissances par son sys_id. Chaque élément hébergé dans le système a une sys_id unique.
    • <ttt>${SP}-${SP}${current.author.first_name}${SP}${current.author.last_name}</tt> - Cet exemple est commenté et non utilisé, mais il est toujours intéressant en ce sens qu’il a un appel jelly ${SP} et qu’il tire l’auteur de l’article de la base de connaissances par son prénom et son nom.
    <?xml version= "1.0" encoding= "utf-8" ?><j:jelly trim = "false" xmlns:j = "jelly:core" xmlns:g = "glide" xmlns:j2 = "null" xmlns:g2 = "null" >
     
    <div class = "cms_knowledge_list customer_success" ><g:for_each_record file = "${current}" max = "${jvar_max_entries}" ><br /><table cellspacing = "0" cellpadding = "0" border = "0" class = "background_transparent" ><tr><td class = "cms_knowledge_list_image" ><j:if test = "${current.u_logo.getDisplayValue() != ''}" ><div class = "knowledge_article_logo" ><a href = "knowledge.do?sysparm_document_key=kb_knowledge,${current.sys_id}" > <img src = "${current.u_logo.getDisplayValue()}" alt="${current.text}" width = "110px" /> </a></div></j:if>
     
    			</td><td width = "100%" ><a href = "knowledge.do?sysparm_document_key=kb_knowledge,${current.sys_id}" target = "_top" ><span class = "cms_knowledge_list_link" >${current.short_description}</span></a><p class = "kb_description" >
    					"${current.description}"
    				 <!--${SP}-${SP}<span class="cms_knowledge_list_author">${current.author.first_name}${SP}${current.author.last_name}</span>--></p></td></tr><tr><td width = "100%" colspan = "2" class = "kb_learn_more" ><p class = "kb_learn_more" ><a href = "knowledge.do?sysparm_document_key=kb_knowledge,${current.sys_id}" >Learn More</a></p></td></tr></table>
     
    </g:for_each_record></div>
     
    </j:jelly>