Content Management e exemplos de código do Jelly

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • Exemplos de código

    Código de Exemplo de Cabeçalho

    Este bloco de conteúdo dinâmico precisa estar ativo e ter a opção "Duas fases" clicada. O marcador g:requires inclui o script de IU definido no sistema cujo nome é "servicenow.website.globals". A extensão do arquivo na chamada é .jsdbx e é usada somente na chamada para o script de IU, não no nome do script no sistema. Para o JSDBX, o arquivo chamado é um JavaScript (.js) definido no banco de dados (db) que precisa ser armazenado em 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>
    Título da página e código de exemplo de descrição

    Este bloco de conteúdo dinâmico precisa estar ativo. Há duas ações neste snippet de código. O primeiro é um contêiner de cadeia de caracteres voltado para o futuro que permite a tradução do site, a chamada de cadeia de caracteres ${gs.getMessage('Your Text')}). A segunda ação extrai o título e a descrição da página, ${current_page.getName()} e ${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>
    Listar bloco de extração de código de exemplo de artigos de conhecimento

    Este exemplo de código contém um dos melhores truques do CMS. Usar o campo de tipo com extrai de várias definições de lista definidas para fazer mudanças pequenas ou muito significativas na exibição da lista. Como a IU está aberta a configuração e inovação, esta é uma boa oportunidade para usar habilidades de design. Qualquer pessoa que saiba usar HTML e CSS sabe que uma lista básica pode ser transformada em uma grade flutuante ou em linha. As combinações são limitadas apenas pelo que o designer pode inventar e codificar.

    No exemplo de código, há um campo de logotipo personalizado (u_logo) adicionado ao formulário de Conhecimento. O campo personalizado exibe logotipos de clientes, logotipos de parceiros e imagens de gratificações na página de premiações. Há várias seções diferentes que usam esta definição de lista para que a reutilização seja eficiente.
    • div class="cms_knowledge_list customer_success" - Comece criando um contêiner externo com um nome de classe exclusivo que possa ser usado como base para seletores e regras de estilo CSS. No contêiner externo, muitos dos elementos secundários podem ser acessados para atribuição de tema.
    • <g:for_each_record file="${current}" max="${jvar_max_entries}">- Loop para criação de lista que chama o registro de tabela selecionado e as entradas definidas no formulário de lista.
    • <a href="knowledge.do?sysparm_document_key=kb_knowledge,${current.sys_id}"><img src="${current.u_logo.getDisplayValue()}" alt="${current.text}" width="110px"/> - Define a vinculação ao detalhe do artigo na base de conhecimento. Para referência adicional, observe os tipos de conteúdo na definição do site e você verá algumas semelhanças. O knowledge.do? A parte do URL aponta para a página de detalhes de conhecimento que (conforme mencionado acima) é obrigatória se você planeja chamar a base de conhecimento no site do CMS. O restante do URL representa a sintaxe para chamar um artigo de conhecimento por seu sys_id. Cada item hospedado no sistema tem um sys_id exclusivo.
    • <ttt>${SP}-${SP}${current.author.first_name}${SP}${current.author.last_name}</tt> - Este exemplo está comentado e não é usado, mas ainda é interessante porque tem uma chamada Jelly ${SP} e extrai o autor do artigo de conhecimento por nome e sobrenome.
    <?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>