Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use javascript(js file) in Orchard CMS

Can any one tell me please how to use js file in Orchard CMS? I added it to Layout.cshtml page as Script.include("jquery.js").

like image 723
user518363 Avatar asked Aug 22 '11 03:08

user518363


2 Answers

You can do it twofold.

First approach is just like mdm described:

  1. Create your own implementation of IResourceManifestProvider interface (take a look at Orchard source - it's been implemented in many modules), implement BuildManifests(ResourceManifestBuilder builder) method and create a named resource for a given .js file
  2. Use @{ Script.Require("[your resource name]"); } in your Razor view file (.cshtml) to include that script.

This is a preferred solution if you have many script files, possibly with dependencies between them. It allows you to specify the dependencies for each script file and make Orchard take care of the rest (so when you reference a given resource, all dependent ones would also be automatically referenced in the proper order).

The second, simpler approach is to directly reference the .js script file in your .cshtml file, without creating a named resource. It's useful if you'd like to quickly add a reference to a single script. Like this (example taken from Orchard.Web\Core\Shapes\Views\Document.cshtml):

@{ Script.Include("html5.js").AtLocation(ResourceLocation.Head); }
like image 65
Piotr Szmyd Avatar answered Oct 16 '22 08:10

Piotr Szmyd


If you have the Orchard.jQuery module installed and enabled, then at the top of your view use:

Script.Require("jQuery")

Have a look at the ResourceManifest class in the Orchard.jQuery project (should be somewhere in your Orchard solution file), there you can see all the different jQuery modules you can include using this syntax (e.g. jQueryUI_Core, jQueryUI_Tabs, etc)

E.g.

 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);
like image 11
mdm Avatar answered Oct 16 '22 09:10

mdm