留言板

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

Stéphane Faure,修改在9 年前。

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

New Member 帖子: 14 加入日期: 14-4-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>
_________________________________________________
Denis Cucchietti,修改在8 年前。

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

New Member 帖子: 19 加入日期: 14-9-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-->