1

私はいくつかの興味深いことを学びました。

以下のコードを参照してください

<div id="myDiv">
    <cq:include resourceType="foundation/components/parsys" path="par"/>
</div>

独自の Div 内に parsys コンポーネントを含めます。だから私たちがするとき

$('#myDiv').hide();

parsys も非表示になると予想できますが、そうはなりません。

なんで ?このパシスを隠すにはどうすればよいでしょうか。

4

1 に答える 1

0

理解しておく必要があることの 1 つは、CQ 関連のコンポーネントを取得する必要がある場合です。CQ によって提供される WCM API を使用する必要があります。

F12 キーを押して、parsys のすぐ下にある parsys "par" 内のコンポーネントを調べると、<script>タグが表示されます。

例えば、

CQ.WCM.edit({"path":"/content/mycompany/jcr:content/par/modal/modal-parsys","type":"foundation/components/parsys","csp":"pageComponent|page/par|parsys/modal|parbase/modal-parsys|parsys","isContainer":true});

path:"/content/mycompany/jcr:content/par/modal/modal-parsys"プロパティを参照してください。これは、ここではリポジトリ内で編集可能としても知られるコンテンツの場所です。

これは、parsys、dialobox、または CQ 内のコンテンツを見つけるための「Div ID」として使用されます。

そして、次のコードを使用してコンポーネントを非表示にします。

var parsysComp = CQ.WCM.getEditable('/content/mycompany/jcr:content/par/modal/modal-parsys');
if(parsysComp) // checking if Exists
{
    parsysComp.hide();
}

有用な情報: このコードを $(document).ready または $(window).ready に貼り付けると、DOM の準備が整い、ウィンドウから独立した後で CQ コンポーネントがロードされるため、これは機能しません。

したがって、ページのオンロードで parsys を非表示にする場合は、上記のコードを次の場所に配置します。

CQ.WCM.on('editablesready', function() {
    // Hiding parsys/editable code goes here
});

デザイン モードで parsys 編集バーを非表示にする場合は、デザイン モードに移動します。検査 (F12) し、デザイン モードでパスの値を見つけます。それはおそらく

/etc/designs/default/jcr:content/pageComponent/par/modal/modal-parsys

したがって、編集可能にするコードは次のようになります

CQ.WCM.getEditable('/etc/designs/default/jcr:content/pageComponent/par/modal/modal-parsys
');

参考文献:

CQ WCM API ドキュメント

参照リンク 2

于 2016-07-14T15:22:46.283 に答える