我在Sitecore的MVC實現中專門爲行中的列名使用DynamicPlaceholder。例如,我可能在一個頁面上有3個50/50的渲染,每個渲染都有一個列一個佔位符和一個列二個佔位符。我正在使用的動態佔位符代碼完美地用於創建新頁面。但是現在我需要將來自不同節點的現有頁面遷移到我的新內容樹中。Sitecore DynamicPlaceholder:其中是否存儲用於渲染的guid?
我創建一個新的RenderingDefinition項目是這樣的:
RenderingDefinition ren = new RenderingDefinition();
ren.Placeholder = "content/50-50";
ren.Datasource = [Datasource GUID];
ren.ItemID = [Rendering GUID];
device.AddRendering(ren);
然後,我需要一些內容項添加到渲染的每一列,這裏的地方我遇到的一個問題。不知何故,Sitecore存儲一個GUID與我創建的上述渲染。如果您在PageEditor模式下檢查佔位符,則可以在與此對應的標記中看到「referenceId」。但我無法弄清楚它的存儲位置,所以我可以將它傳遞給下面的代碼:
RenderingDefinition col = new RenderingDefinition();
col.Placeholder = "content/50-50/column-one_[50/50 rendering placeholder guid]";
col.Datasource = [Datasource GUID];
col.ItemID = [Rendering GUID];
device.AddRendering(col);
這絕對不是RenderingDefintion的屬性,也不是呈現ID。
您發送的鏈接讓我走上了正確的道路,但結果很簡單。我正在查找的ID是名爲UniqueId的渲染定義的屬性。 –