2014-09-05 9 views
6

नमूना कोड में, यह कैसे आप एक .cshtml फ़ाइल से होम पेज मिलउम्ब्राको 7 + रेजर: आईडी द्वारा दस्तावेज़/नोड कैसे प्राप्त करें?

var homePage = CurrentPage.AncestorsOrSelf(1).First(); 

अब, मैं कैसे किसी खास पृष्ठ/नोड (वर्तमान पृष्ठ, जैसे से संबंधित नहीं मिलता है। समाचार पेज) अपनी आईडी से?

उत्तर

16

आप बिल्कुल उसी दृष्टिकोण का उपयोग कर सकते हैं लेकिन .Where(x => x.Id == newsPageId) का उपयोग कर सकते हैं।

वैकल्पिक रूप से, आप @Umbraco.TypedContent(newsPageId) या @Umbraco.Content(newsPageId) का उपयोग कर सकते हैं।

+0

आप सही हैं लेकिन सवाल विशेष रूप से रेजर और एक .cshtml फ़ाइल बताता है। अगर आपको किसी अन्य संदर्भ से उत्तर की आवश्यकता है, तो एक प्रश्न पूछें :) – Digbyswift

7

सीधा जवाब उम्ब्राको है। टाइप किया गया सामग्री (आईडी) .पर! यदि आप कहीं से भी "समाचार" नोड प्राप्त करना चाहते हैं, तो मैं निम्नलिखित का उल्लेख करता हूं। कुछ बहुभाषी सेटअप के लिए आईडी का उपयोग करना समस्याग्रस्त है और यदि आईडी बदलती है तो यह काम करना बंद कर देगी।

// 1- Get root node 
var site = Model.Content.AncestorOrSelf("Site"); 

// 2- Get news node 
var news = site.Descendant("News"); 

यह दृष्टिकोण अधिक गतिशील है और अब आप अपने समाचार नोड का उपयोग अपने बच्चों को लूप करने के लिए कर सकते हैं, या जो भी आपको चाहिए। इसके लिए, आपको साइट और समाचार प्रकारों के लिए विशिष्ट दस्तावेज़ प्रकार सेटअप की आवश्यकता है।

आशा है कि इससे मदद मिलती है!

संबंधित मुद्दे