我正在接受Adobe CQ5開發人員的培訓,我正在嘗試瞭解Component中當前資源的位置。例如,對於圖像組件創建窗口小部件時: 的屬性是: 瞭解當前資源的當前位置
,然後用複雜的組件:
的屬性是:
這是爲什麼?我只是沒有看到與當前資源和jsp文件的關係以供參考。爲什麼複雜的組件只有./value而不是./image/value?
我正在接受Adobe CQ5開發人員的培訓,我正在嘗試瞭解Component中當前資源的位置。例如,對於圖像組件創建窗口小部件時: 的屬性是: 瞭解當前資源的當前位置
,然後用複雜的組件:
的屬性是:
這是爲什麼?我只是沒有看到與當前資源和jsp文件的關係以供參考。爲什麼複雜的組件只有./value而不是./image/value?
主要原因是屬性相互關聯以定義如何繪製圖像,並且應用程序還有其他部分需要這種安排。當作者配置圖像時,AEM將在頁面的jcr:content節點下創建一個圖像節點。
/content/mysite/mypage/jcr:content/image/<attributes>
基礎Image類還有AbstractImageServlet期望某些屬性出現在圖像節點上。
例如,請注意這兩個URL顯示相同的圖像。
1. http://localhost:4502/content/geometrixx/en/events/dsc.img.png
2. http://localhost:4502/content/dam/geometrixx/banners/dsc.jpg
第一URL所指向的節點cq:page
並增加了一個img
選擇器。此選擇器調用一個servlet,該servlet從在頁面的jcr:content
節點下找到的第一個image
節點中獲取信息。 image
節點具有指向實際DAM圖像的fileReference
屬性,該圖像是第二個URL。然後該servlet呈現fileReference
屬性中指定的URL。
在您的第一個示例 - 徽標組件中,屬性是相對於組件的。如果在路徑par
的頁面上有解析器,那麼如果將徽標組件添加到頁面中,則在cq:page
節點下將具有以下路徑。
/content/mysite/mypage/jcr:content/par/logo/<attributes>
現在,當您使用img
選擇調用圖像的servlet,它會標誌的屬性考慮在內。
http://localhost:4502/content/mysite/mypage/jcr:content/par/logo.img.png
對於第二個例子 - 絡合物組分 - 你是組織圖像的image
節點下屬性來隔離來自其他設置的那些屬性。
這開始有意義。我將需要重讀這幾次,但我開始看到創建組件的關係以及如何轉換爲實際創作站點以及如何設置參考。 – knennigtri