2016-07-14 40 views
1

我已經學會了索姆有趣的事情我只是想分享,如何隱藏CQ5中的parsys組件?

見下

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

代碼我們有parsys組件包括我們自己的專區內。所以當我們做

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

我們可以期望parsys也被隱藏,但它不會發生。

爲什麼?我們如何隱藏這個解析?

+0

ATLEAST提意見的downvoting的原因。 這是一個相當有用的帖子 – Oliver

回答

0

一兩件事,我們需要明白的是,如果我們需要獲取任何CQ相關組件。我們需要使用CQ給出的WCM API。

如果我們parsys「相提並論」只是我們parsys低於內檢查F12我們的組件,你會看到一個<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}); 

路徑: 「/內容/ myCompany的/ JCR:內容/帕/模/模態-parsys」屬性是這樣的內容在這裏作爲又稱的位置可編輯存儲庫中。

這被用作「分區ID」來定位parsys,dialobox或CQ任何內容。

我們用下面的代碼隱藏的組件。

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

有用的信息: 如果您將此代碼粘貼在$(文件)。就緒或$(窗口)。就緒這不會工作,因爲CQ組件加載很多很多後DOM準備和獨立的窗戶。

,如果你想隱藏在頁面的onload一個parsys然後將上面的代碼中

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

如果你想隱藏parsys editbar在設計模式然後進入設計模式,所以說。檢查(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 docs

Reference Link 2