2013-10-30 23 views
1

我想創建一個xtype爲「textfield」的對話框...我需要指定用戶更新此字段時,它總是會覆蓋相同的JCR內容節點。Adob​​e CQ - 指定寫入JCR內容的位置(確切路徑)

我在多個頁面中包含此組件/對話框,以便作者可以編輯文本。問題是該文本將被更新爲該頁面。 (因爲我正在使用相對路徑)。

我需要做什麼......將內容更新並寫入中央位置,以便無論用戶編輯此文本的哪個頁面,它都會更新到中央位置。

一個現實世界的例子: 我們有模態對話框顯示整個網站。其中一些對話框是全球性的。 Out客戶端要求在這些對話框顯示的任何頁面上都有編輯選項。驗收標準是,他們可以在任何頁面上進行編輯,並且該編輯將在全球範圍內應用。

我的問題是,我不知道如何設置文本字段將寫入的路徑。

我從這裏檢索內容:

<cq:include path="/content/jjj/en/misc/deviceoutmodal/jcr:content/buttontext1" resourceType="zig/components/text"/> 

我爲什麼能寫入相同的路徑?

+0

難道它沒有寫回同樣的道路嗎?該路徑是組件內容的路徑。該路徑是存儲在對話框中輸入的值的位置。 – kfaerber

+0

因此,如果我要設置xtype,我需要使用哪些屬性來保存到上述路徑?我需要更改「名稱」屬性嗎?對不起...... CQ還是新手。 – user2896526

+0

您應該需要做任何不同的事情,因爲您將組件放在另一個頁面上,一切都已經指向正確的路徑。 xtype的name屬性通常是通過cq:include標記的路徑屬性設置的組件路徑的相對路徑。 – kfaerber

回答

1

我認爲這可以通過設計對話框來實現 - 您可以根據組件(或模板)設置屬性,然後該組件會被該組件的每個實例使用。

編輯器可以在設計模式下(或通過設計器,直到我記得)編輯屬性。設計對話框像常規對話框一樣創建,但名稱爲design_dialog.xml。 Adobe列出的example use-case用於徽標組件:

徽標組件顯示網站Geometrixx的徽標。 徽標圖像和主頁鏈接可以全局配置(對於網站的每個頁面, 也是如此),以便此組件的每個實例都是 。因此需要一個設計對話框來提供圖像 和家庭鏈接的路徑,以便設計相應的頁面。 徽標組件位於 網站上所有頁面的左上角。

+0

似乎很奇怪,我無法指定存儲的位置內容。 – user2896526

+0

您可以直接使用JCR API並編寫一些可以實現的功能,但通常對於這些類型的需求,我認爲OOTB(通過設計對話框,參考組件或iparsys)可以爲您提供最佳的折中值的自定義代碼,您需要爲您的編輯器編寫UX。 – anotherdave

+0

所以我只需要改變:\t JCR:primaryType 名稱 CQ:對話 到: \t JCR:primaryType 名稱 CQ:design_dialog.xml – user2896526