2011-08-22 7 views
16

में जावास्क्रिप्ट (जेएस फ़ाइल) का उपयोग कैसे करें कोई भी मुझे बता सकता है कि ऑर्चर्ड सीएमएस में जेएस फ़ाइल का उपयोग कैसे करें? मैंने इसे लेआउट.cshtml पृष्ठ में Script.include("jquery.js") के रूप में जोड़ा।ऑर्चर्ड सीएमएस

उत्तर

11

आप Orchard.jQuery मॉड्यूल स्थापित किया है और आपके विचार उपयोग के शीर्ष पर सक्षम है, तो:

Script.Require("jQuery") 

Orchard.jQuery परियोजना में ResourceManifest वर्ग पर एक नज़र डालें (में कहीं होना चाहिए अपने ऑर्चर्ड समाधान फ़ाइल), वहाँ आप सभी विभिन्न jQuery मॉड्यूल आप इस वाक्य रचना (जैसे jQueryUI_Core, jQueryUI_Tabs, आदि) का उपयोग कर शामिल कर सकते हैं देख सकते हैं

उदा

manifest.DefineScript("jQueryUI").SetUrl("jquery-ui.min.js", "jquery-ui.js").SetVersion("1.9.2").SetDependencies("jQuery") 
       .SetCdn("//ajax.aspnetcdn.com/ajax/jquery.ui/1.9.2/jquery-ui.min.js", "//ajax.aspnetcdn.com/ajax/jquery.ui/1.9.2/jquery-ui.js", true); 
27

आप इसे दुगना कर सकते हैं। , BuildManifests(ResourceManifestBuilder builder) विधि को लागू करने और बनाने के एक नामित -

  1. बनायें IResourceManifestProvider इंटरफेस (यह कई मॉड्यूल में लागू किया गया है ऑर्चर्ड स्रोत पर एक नज़र डालें) का अपना स्वयं का कार्यान्वयन:

    पहले दृष्टिकोण एमडीएम की तरह वर्णित है किसी दिए गए .js फ़ाइल के लिए संसाधन

  2. उस स्क्रिप्ट को शामिल करने के लिए अपने रेजर व्यू फ़ाइल (.cshtml) में @{ Script.Require("[your resource name]"); } का उपयोग करें।

यदि आपके पास कई स्क्रिप्ट फ़ाइलें हैं, संभवतः उनके बीच निर्भरताओं के साथ यह एक पसंदीदा समाधान है। यह आपको प्रत्येक स्क्रिप्ट फ़ाइल के लिए निर्भरताओं को निर्दिष्ट करने और ऑर्चर्ड को बाकी की देखभाल करने की अनुमति देता है (इसलिए जब आप किसी दिए गए संसाधन का संदर्भ देते हैं, तो सभी आश्रितों को भी उचित क्रम में स्वचालित रूप से संदर्भित किया जाएगा)।

दूसरा, सरल तरीका सीधे अपने .cshtml फ़ाइल में .js स्क्रिप्ट फ़ाइल संदर्भ के लिए, एक नामित संसाधन बनाने के बिना है। यह उपयोगी है अगर आप जल्दी से एक स्क्रिप्ट का संदर्भ जोड़ना चाहते हैं। इस (उदाहरण \ दृश्य \ Document.cshtml Orchard.Web \ कोर \ आकृतियाँ से लिया गया) की तरह:

@{ Script.Include("html5.js").AtLocation(ResourceLocation.Head); } 
+0

आप में ** \ Orchard.Web \ मॉड्यूल \ Orchard.Tags \ ResourceManifest.cs ** जिसमें यह दोनों एक शैली को परिभाषित करता है एक अच्छा उदाहरण देख सकते हैं और एक स्क्रिप्ट। – VitalyB

+0

यदि पृष्ठ ऑर्चर्ड सीएमएस व्यवस्थापक फ़ंक्शन के माध्यम से बनाया गया था तो आप यह कैसे करेंगे? इस मामले में, कोई रेजर व्यू फ़ाइल नहीं है (वहां है)? – spadelives

1

यह थोड़े धोखा दे रहा है, लेकिन तुम सिर्फ लेआउट या दस्तावेज़ फ़ाइल को यह जोड़ सकते हैं।

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script> 

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js" type="text/javascript"></script> 
+4

हां धोखाधड़ी, लेकिन इसे 'स्क्रिप्ट' के माध्यम से करने के लिए सबसे अच्छा है। शामिल करें (""); 'ऑर्चर्ड केवल तभी लोड होगा जब कई अलग-अलग दृश्यों के माध्यम से संदर्भित हों। –

+0

आप इस तरह की चीज करने में समस्याओं का सामना कर सकते हैं। उदाहरण के लिए कहें कि आपके टेस्ट पर्यावरण में इंटरनेट तक पहुंच नहीं है। आपके पास वास्तव में आपके समाधान में शामिल सब कुछ होना चाहिए। –

0

मॉड्यूल ContentPicker मॉड्यूल के लिए एक अच्छा उदाहरण देखने के लिए। यह डिफ़ॉल्ट ऑर्चर्ड स्रोत कोड के साथ आता है। यह दिखाता है कि आप स्क्रिप्ट का उपयोग कैसे कर सकते हैं। आवश्यकता ("MyScript")। JQuery मॉड्यूल स्वयं एक अच्छा उदाहरण है। यह मॉड्यूल भी डिफ़ॉल्ट स्रोत कोड के साथ आता है।

नोट: मैं ऑर्चर्ड 1.7 और बाद के संस्करण की चर्चा करते हुए हूँ