2011-08-22 21 views

cevap

11

Eğer Orchard.jQuery modülü yüklü ve görünümdeki üstündeki sonra, etkinleştirdiyseniz: bir yerde olmalıdır (

Script.Require("jQuery") 

Orchard.jQuery projesinde ResourceManifest sınıfında göz at Orchard çözüm dosyanız), bu sözdizimini kullanarak ekleyebileceğiniz tüm farklı jQuery modüllerini görebilirsiniz (örn. jQueryUI_Core, jQueryUI_Tabs, vb.)

Örn.

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

İki kat yapabilirsiniz. , BuildManifests(ResourceManifestBuilder builder) yöntemi uygulamak ve oluşturmak adlandırılmış - IResourceManifestProvider arayüzüne (birçok modüllerde uygulamaya oldu Orchard kaynağında bir göz atın) kendi uygulaması oluşturma

  1. :

    İlk yaklaşım mdm anlattığı gibi olduğunu Belirli bir .js dosyası için kaynak

  2. Bu komut dosyasını eklemek için Razor görünüm dosyanızda (.cshtml) @{ Script.Require("[your resource name]"); } kullanın.

Çok sayıda komut dosyası dosyanız varsa, muhtemelen aralarında bağımlılıklar varsa, bu tercih edilen bir çözümdür. Her bir komut dosyası için bağımlılıkları belirlemenizi ve Orchard'ın gerisini halletmesini sağlar (böylece belirli bir kaynağa başvurduğunuzda, tüm bağımlı olanlar otomatik olarak uygun sırayla başvuruda bulunulur).

ikinci, daha basit bir yaklaşım doğrudan adlandırılmış kaynak yaratmadan, sizin .cshtml dosyasında .js komut dosyası başvurmak etmektir. Tek bir komut dosyasına hızlı bir şekilde referans eklemek istiyorsanız yararlı olur. Bu (Document.cshtml \ Görünümler \ Orchard.Web \ Çekirdek \ Şekiller alınan örnek) gibi:

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

Sen \ Orchard.Web \ Modülleri \ Orchard.Tags \ ResourceManifest.cs ** hangi bir stil hem tanımlayan ** iyi bir örnek görebilirsiniz ve bir senaryo. – VitalyB

+0

Sayfa Orchard CMS yönetici işleviyle oluşturulduysa bunu nasıl yaparsınız? Bu durumda, Razor görüntü dosyası yok mu (var)? – spadelives

1

Bu tür aldatıyor ama sadece düzeni veya belge dosyaya bu ekleyebilir.

<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

evet, ama Script.Include ("") aracılığıyla bunu yapmak için en iyisi, "Orchard sadece farklı görünümler aracılığıyla başvurulan bir tane yükleyecektir. –

+0

Bu tür bir şey yapmakta sorun yaşayabilirsiniz. Örneğin, test ortamınızın internete erişimi olmadığını söyleyin. Çözüme dahil etmeniz gereken her şeye sahip olmalısınız. –

0

İyi bir örnek için ContentPicker modülüne bakın. Bu varsayılan Orchard kaynak kodu ile birlikte gelir. Script.Require ("MyScript") 'ı nasıl kullanabileceğinizi gösterir. JQuery modülünün kendisi iyi bir örnektir. Bu modül ayrıca varsayılan kaynak kodu ile birlikte gelir.

Not: Ben Orchard 1.7 ve sonraki sürümleri bahsediyorum