sitecore
साइटकोर क्वेरी सिंटैक्स
खोज…
टिप्पणियों
टेम्प्लेट नाम बनाम टेम्प्लेट आईडी बनाम क्वेरी में आइटम नाम:
मैं दृढ़ता से सुझाव है कि आप अपने प्रश्नों में खाका आईडी और नहीं खाका नाम या आइटम नाम का उपयोग करें। यह सुनिश्चित करेगा कि आपके प्रश्न अभी भी काम करेंगे, तब भी जब टेम्प्लेट और / या आइटम का नाम बदला गया हो।
एक अपवाद यह है कि जब कोई OOTB संरचना, उदाहरण के लिए /sitecore/content
या /sitecore/system/Marketing Control Panel
उद्धृत करते हुए OOTB टेम्पलेट्स के साथ काम करता है। इन स्थितियों में, पठनीयता का नुकसान अक्सर प्रश्नों के टूटने के जोखिम से अधिक होता है, क्योंकि इन टेम्प्लेट का नाम बदलने की संभावना कम होती है।
ध्यान दें कि टेम्पलेट नाम पठनीयता के लिए, मेरे उदाहरण में, ऊपर दिए गए थे। उन प्रश्नों का उत्पादन में उपयोग नहीं किया जाना चाहिए, जब तक कि टेम्पलेट नाम को टेम्पलेट आईडी से बदल नहीं दिया जाता है।
संदर्भ पत्र:
मैंने देखा कि साइटकोर क्वेरी चेट शीट अब वेब पर डाउनलोड के लिए उपलब्ध नहीं है (सभी साइटकोर होस्ट किए गए लिंक अब 404 पृष्ठों पर रीडायरेक्ट हो गए हैं)। सौभाग्य से, मेरे पास मेरी मशीन पर एक प्रति थी, और नीचे एक स्क्रीनशॉट जोड़ा गया है:
आइटम पथ द्वारा चयन करें
प्रश्न:
query:/sitecore/content/home/foo/bar
परिणाम
bar
सापेक्ष क्वेरी
वर्तमान आइटम:
bar (path: /sitecore/content/home/foo/bar)
प्रश्न:
query:./child/grandchild
परिणाम:
grandchild (path: /sitecore/content/home/foo/bar/child/grandchild)
आइटम विशेषताएँ क्वेरी
प्रश्न:
query:/sitecore/content/[@@templatename='Homepage']
परिणाम:
home (name: home, path: /sitecore/content/home, template name: Homepage)
साइट-विशिष्ट क्वेरी
पेड़ की संरचना:
/sitecore
/content
/foo-site
/home
/my-account
/bar-site
/home
/my-account
/baz-site
/home
/my-account
- प्रत्येक साइट आइटम (
foo-site
,bar-site
,baz-site
) के टेम्पलेट कोSite Node
का नाम दिया गया है। - प्रत्येक होम आइटम (
home
,home
,home
) के टेम्पलेट का नामHomepage
- प्रत्येक उपयोगकर्ता खाता आइटम (
my-account
,my-account
,my-account
) के टेम्पलेट का नामUser Account Page
वर्तमान आइटम:
वर्तमान आइटम हो सकता है home
आइटम या नीचे किसी भी पन्ने home
दिया साइटों से किसी के लिए आइटम, और इस क्वेरी अभी भी काम (बशर्ते होगा साथ कोई आइटम नहीं देखते हैं कि Homepage
के नीचे टेम्पलेट home
आइटम है कि वर्तमान के एक पूर्वज हैं आइटम)।
प्रश्न:
query:./ancestor-or-self::*[@@templatename='Homepage']/*[@@templatename='my-account']
परिणाम:
यदि foo-site
साइट में home
आइटम या इसके वंशजों में से कोई क्वेरी home
:
/sitecore/content/foo-site/home/my-account
यदि bar-site
साइट में home
या उसके किसी वंशज से क्वेरी की जाती है:
/sitecore/content/bar-site/home/my-account
यदि home
वस्तु या उसके किसी वंशज से baz-site
साइट पर क्वेरी की जाती है:
/sitecore/content/baz-site/home/my-account