Comment utiliser javascript (fichier js) dans Orchard CMS

Quelqu'un peut-il me dire s'il vous plaît comment utiliser le fichier js dans Orchard CMS? Je l'ai ajouté à la page Layout.cshtml sous Script.include("jquery.js") .

Vous pouvez le faire doublement.

La première approche est comme mdm décrit :

  1. Créez votre propre implémentation de l'interface IResourceManifestProvider (consultez la source Orchard – elle a été implémentée dans de nombreux modules), implémentez la BuildManifests(ResourceManifestBuilder builder) et créez une ressource nommée pour un fichier .js donné.
  2. Utilisez @{ Script.Require("[your resource name]"); } @{ Script.Require("[your resource name]"); } Dans votre fichier de vue Razor (.cshtml) pour inclure ce script.

C'est une solution préférée si vous avez plusieurs fichiers de script, éventuellement avec des dépendances entre eux. Il vous permet de spécifier les dépendances pour chaque fichier de script et de faire en sorte que Orchard s'occupe du reste (alors, lorsque vous faites référence à une ressource donnée, tous les dépendants seront également référencés automatiquement dans le bon ordre).

La deuxième approche plus simple est de référencer directement le fichier de script .js dans votre fichier .cshtml, sans créer une ressource nommée. Il est utile que vous souhaitiez rapidement ajouter une référence à un script unique. Comme ceci ( exemple tiré d'Orchard.Web \ Core \ Shapes \ Views \ Document.cshtml ):

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

Si vous avez installé et activé le module Orchard.jQuery, puis en haut de votre vue utilisez:

 Script.Require("jQuery") 

Jetez un oeil à la classe ResourceManifest dans le projet Orchard.jQuery (devrait être quelque part dans votre fichier de solution Orchard), vous pouvez voir tous les différents modules jQuery que vous pouvez inclure en utilisant cette syntaxe (p.ex. jQueryUI_Core , jQueryUI_Tabs , etc.)

Par exemple

  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); 

C'est un peu de tricherie, mais vous pouvez simplement l'ajouter à la mise en page ou au document.

 <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> 

Pour avoir un bon exemple, recherchez le module ContentPicker. Cela vient avec le code source par défaut de Orchard. Il montre comment vous pouvez utiliser Script.Require ("MyScript"). Le module JQuery lui-même est un bon exemple. Ce module est également livré avec le code source par défaut.

Remarque: je parle des versions Orchard 1.7 et versions ultérieures