2

すべてのページに表示するヘッダーおよびフッター コンポーネントのデフォルト セットがあります。

私のテンプレート ファイルには、コンポーネントを自動的に含める次のような行があります。

<cq:include path="thecomponent" resourceType="/path/to/component"  />

ただし、コンポーネントのオプションは子ページに継承されないため、ユーザーは新しいページを作成するたびにヘッダーとフッターを再構築する必要があります。テンプレート ファイルで、これらのコンポーネントを iParsys に自動的に配置する方法はありますか?

この試みは成功しませんでしたが、私がやりたいことを示していると思います。

<cq:include path="PageTop" resourceType="/libs/foundation/components/iparsys">   
    <cq:include path="thecomponent" resourceType="/path/to/component"  />  
    <cq:include path="theOthercomponent" resourceType="/path/to/other/component"  />
</cq:include>
4

2 に答える 2

0

私は同じ状況に遭遇し、この回避策を見つけました。

このようなものが必要なコンポーネント(ヘッダーとフッター)に対して設定cq:noDecorationfalseます

<cq:include path="PageTop" resourceType="/libs/foundation/components/iparsys">   
    <cq:include path="thecomponent" resourceType="/path/to/component"  />  
    <cq:include path="theOthercomponent" resourceType="/path/to/other/component"  />
</cq:include>

cq:noDecoration値をtrue動的に変更するには、このコードをコンポーネントの jsp ファイル (ヘッダーとフッター) に含める必要があります。

<%
    String defaultCanonicalURL = request.getRequestURL().toString();
    String[] template = defaultCanonicalURL.split("/");
    String templateName = template[template.length-2].toString(); // getting template name


    if(templateName.equals("your-desired-template-name")){
        componentContext.setDecorate(true);    
    }
%>

それが役に立てば幸い 。

http://dev.day.com/docs/en/cq/current/developing/components.htmlを参照してください。

于 2013-09-27T16:56:53.150 に答える