我使用的是Umbraco 6.0.1我創建了兩個頁面,第一個頁面元素是頁面頁眉,正文文本等。 我創建了另一個頁面,我希望頁面第一頁中使用的元素,它們之間沒有任何父子關係。 那麼是否有可能將另一頁的頁面元素放入Umbraco的頁面?Umbraco - 通過使用pageId獲取頁面元素
回答
它可能不會出現,但Umbraco中始終存在親子關係。
爲了說明,您在內容結構中創建的每個節點都創建在ID爲-1的主節點下。所以,所有的節點都是這個節點的子節點。即使你的兩個節點都在兩個看似獨立的內容分支中,它們總是與相關。
如果兩個節點都是根節點,從CSHTML視圖中可以訪問所有的根節點像這樣:
@Umbraco.TypedContentAtRoot()
然後,您可以通過他們穿越這樣的:
@{
var rootNodes = Umbraco.TypedContentAtRoot();
var settingsNode = rootNodes.First(x => x.DocumentTypeAlias == "Settings");
var homeNode = rootNodes.First(x => x.DocumentTypeAlias == "Homepage");
}
然後,您可以訪問這些節點上的屬性並將它們顯示在您的視圖中。
最後,大部分信息可以在http://our.umbraco.org/documentation/Reference/找到,它是熟悉它們如何結合在一起的好地方。
是的,我們可以得到沒有關係的頁面,如上面提到的評論 也是有針對性的頁面屬性。
var currentDoc = new umbraco.cms.businesslogic.web.Document(PageId);
umbraco.cms.businesslogic.property.Property prop = currentDoc.getProperty("MY_PROPERTY");
這種方法存在兩個問題:1)如果您知道頁面的ID並且該頁面是永久性的,則這只是確定的。基於CMS的網站存在的問題是頁面被刪除並被替換。 2)對數據庫進行多次調用 - 一次檢索文檔,至少一次檢索文檔。更好的解決方案是使用查詢XML緩存的方法。查看我的答案和/或Umbraco文檔。 – Digbyswift
是的,你提出的東西是正確的,但如果我們能夠管理頁面名稱,那麼我們也有通過使用頁面名稱/// uQuery.GetNodesByName(pageName)獲取pageId的解決方案///,基本上我們正在開發多語言網站所以每種語言都有單獨的根節點。而在數據庫調用的情況下,是的,您的解決方案將是最好的......謝謝 –
- 1. 在使用jQuery獲取頁面後,通過標記名稱獲取元素$ .get
- 2. 維基百科頁面到頁面的鏈接通過的pageid
- 3. 獲取元素通過使用類名
- 4. 如何通過頁面上的位置獲取元素?
- 5. 如何通過屬性獲取頁面上的元素
- 6. 通過ClientInstanceName獲取元素
- 7. 通過Id獲取元素
- 8. 通過其他元素通過ID獲取HTML元素
- 9. 如何通過.get()獲取父元素一次獲取元素
- 10. 滾動頁面後元素通過
- 11. 迭代通過頁面元素beautifulsoup
- 12. 如何獲取pageId的頁面Facebook用戶是管理員?使用Facebook連接
- 13. jquery-獲取不同的頁面元素
- 14. JQGrid:從不同頁面獲取元素
- 15. 如何獲取頁面提及出現在www.facebook.com/pageid/posts_to_page/?
- 16. Umbraco 4.6:通過版本獲取節點
- 17. 使用Jsoup獲取網頁元素
- 18. 通過使用VB.NET填充HTML元素自動登錄頁面
- 19. Selcet html元素從頁面通過htmlstring使用jquery
- 20. 可以通過jquery讀取外部頁面的dom元素嗎?
- 21. Javascript Clonenode() - 通過ID獲取元素?
- 22. Richfaces - 通過ID獲取元素
- 23. PHP:獲取DOM元素通過類名
- 24. 通過字符串獲取HTML元素
- 25. js通過編號獲取元素
- 26. xml.dom.minidom通過標記名獲取元素
- 27. javascript通過內部ID獲取元素
- 28. Python HTML - 通過屬性獲取元素
- 29. 如何通過innerText獲取元素
- 30. AngularJS,通過動態ID獲取元素?
感謝快速回復,但我不能管理這些關係,讓我找到了一個解決方案通過PAGEID獲取頁面 umbraco.cms.businesslogic.web.Document currentDoc =新umbraco.cms.businesslogic.web.Document (的PageId); umbraco.cms.businesslogic.property.Property prop = currentDoc.getProperty(「MY_PROPERTY」); –