掲示板

Comment connaitre les champs des attributs manipulés dans template ADT ?

9年前 に Stéphane Faure によって更新されました。

Comment connaitre les champs des attributs manipulés dans template ADT ?

New Member 投稿: 14 参加年月日: 14/04/22 最新の投稿
Bonjour,

J'utilise Liferay 6.2 CE.
Le template par défaut "Site map" ne fonctionne pas correctement. En effet, il affiche les pages cachées même lorsqu'on demande à la portlet de ne pas les afficher.
Au delà d'un correctif, je souhaiterais savoir comment accéder en langage FreeMarker (.ftl) à l'ensemble des champs associés à une page (en l'occurrence l'attribut qui indique que la page est une page cachée). Globalement, je souhaiterais savoir comment découvrir les attributs des éléments que l'on manipule...
En attendant le correctif, cela me permettrait de modifier le template par défaut en réalisant le filtre moi-même.

Merci d'avance pour vos retours.
Cdlt.

Stéphane

PS : je comptais sur la fonctionnalité d'auto-complétion de l'éditeur pour répondre à ma question mais l'auto-complétion ne semble décrire que les attributs fournis par défaut... Il n'y a pas d'auto-complétion lorsqu'on travaille sur une variable créée dans le cadre du template (ex : ${entry. ne donne rien)

Ci-dessous le code d'origine retrouvée dans la version Source de Liferay
_______________________________________________________________

<#assign aui = taglibLiferayHash["/WEB-INF/tld/aui.tld"] />
<#if entries?has_content>
<@aui.layout>
<#list entries as entry>
<@aui.column columnWidth=25>
<div class="results-header">
<h3>
<#assign layoutURL = portalUtil.getLayoutURL(entry, themeDisplay)>
<a href="${layoutURL}">${entry.getName(locale)}</a>
</h3>
</div>
<#assign pages = entry.getChildren()>
<@displayPages pages = pages />
</@aui.column>
</#list>
</@aui.layout>
</#if>

<#macro displayPages
pages
>
<#if pages?has_content>
<ul class="child-pages">
<#list pages as page>
<li>
<#assign pageLayoutURL = portalUtil.getLayoutURL(page, themeDisplay)>
<a href="${pageLayoutURL}">${page.getName(locale)}</a>
<#assign childPages = page.getChildren()>
<@displayPages pages = childPages />
</li>
</#list>
</ul>
</#if>
</#macro>
_________________________________________________
8年前 に Denis Cucchietti によって更新されました。

RE: Comment connaitre les champs des attributs manipulés dans template ADT

New Member 投稿: 19 参加年月日: 14/09/15 最新の投稿
Bonjour,

Je me suis basé sur ton exemple pour faire mon ADT, donc voici un site map sans les pages cachées :


&lt;#assign aui = taglibLiferayHash["/WEB-INF/tld/aui.tld"] /&gt;

<section class="section sitemap">
    <header>
        <h3>${themeDisplay.getLayout().getName(locale)}</h3>
    </header>

    <ul>
    &lt;#if entries?has_content&gt;
        &lt;#list entries as curPage&gt;
            &lt;#if !curPage.isHidden()&gt;
            <li><a href="${curPage.getFriendlyURL()}">${curPage.getName(locale)}</a>
            &lt;#assign pages = curPage.getChildren()&gt;
            &lt;@displayPages pages = pages /&gt;
            </li>
            <!--#if-->
        <!--#list-->
    <!--#if-->
    </ul>
</section>

&lt;#macro displayPages pages&gt;
&lt;#if pages?has_content&gt;
    <ul>
        &lt;#list pages as page&gt;
        &lt;#if !page.isHidden()&gt;
            <li>
                &lt;#assign pageLayoutURL = portalUtil.getLayoutURL(page, themeDisplay)&gt;
                <a href="${pageLayoutURL}">${page.getName(locale)}</a>
                &lt;#assign childPages = page.getChildren()&gt;
                &lt;@displayPages pages = childPages /&gt;
            </li>
        <!--#if-->
        <!--#list-->
    </ul>
<!--#if-->
<!--#macro-->