2011-08-22 8 views

答えて

11

あなたはOrchard.jQueryモジュールがインストールされていると有効にした場合、その後、あなたのビューの使用の上部にある:

Script.Require("jQuery") 

は(どこかでなければなりませんOrchard.jQueryプロジェクトにおけるResourceManifestクラスを見てくださいあなたのオーチャード・ソルーション・ファイル)、そこには、この構文を使用して含めることができるさまざまなjQueryモジュールがすべて表示されます(例:jQueryUI_CorejQueryUI_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

2倍にすることができます。

最初のアプローチは、ちょうどMDMように記載されている:

  1. (オーチャードソースを見てみましょう - それは多くのモジュールに実装されています)IResourceManifestProviderインタフェースの独自の実装を作成し、BuildManifests(ResourceManifestBuilder builder)メソッドを実装して命名を作成します指定した.jsファイルのリソース
  2. Razorビューファイル(.cshtml)に@{ Script.Require("[your resource name]"); }を使用して、そのスクリプトを組み込みます。

多くのスクリプトファイルがあり、それらの間に依存関係がある場合は、これが望ましい解決策です。これにより、各スクリプトファイルの依存関係を指定し、Orchardに残りの処理をさせることができます(したがって、特定のリソースを参照する場合、すべての依存するリソースも適切な順序で自動的に参照されます)。

は、名前付きリソースを作成せずに、.cshtmlファイル内の.jsスクリプトファイルを直接参照することです。これは、単一のスクリプトへの参照をすばやく追加する場合に便利です。この(Document.cshtml \ビュー\ Orchard.Web \コア\シェイプから取ら例)のように:

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

を参照しています**それはスタイルの両方を定義しますとスクリプト。 – VitalyB

+0

Orchard CMS管理機能を使用してページを作成した場合、どうすればよいですか?この場合、Razorビューファイルはありません(そこにあります)? – 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

違反ですが、Script.Include( "");でベストを尽くします。オーチャードは、多くの場合、異なるビューから参照される場合にのみロードします。 –

+0

あなたはこの種のことをする問題にぶつかることができます。たとえば、テスト環境がインターネットにアクセスできないとします。必要なものはすべてあなたのソリューションに含めるべきです。 –

0

モジュールContentPickerをよく見てみましょう。これにはデフォルトのオーチャード・ソースコードが付属しています。 Script.Require( "MyScript")の使い方を示しています。 JQueryモジュール自体は良い例です。このモジュールには、デフォルトのソースコードも付属しています。

注:私はあなたが** \ Orchard.Web \モジュール\ Orchard.Tags \ ResourceManifest.csに良い例を見ることができオーチャード1.7およびそれ以降のバージョン

関連する問題