任何人都可以告诉我如何在Orchard CMS中使用js文件?我将它添加到Layout.cshtml页面中
Script.include("jquery.js")
。
答案 0 :(得分:27)
你可以双重做。
第一种方法就像mdm描述:
IResourceManifestProvider
接口实现(查看Orchard源代码 - 它已在许多模块中实现),实现BuildManifests(ResourceManifestBuilder builder)
方法并为给定的.js文件创建命名资源@{ Script.Require("[your resource name]"); }
以包含该脚本。如果您有许多脚本文件,这可能是它们之间存在依赖关系,那么这是首选解决方案。它允许您指定每个脚本文件的依赖关系,并使Orchard处理其余的事务(因此,当您引用给定资源时,所有相关资源也将按正确顺序自动引用)。
第二种更简单的方法是直接引用.cshtml文件中的.js脚本文件,而不创建命名资源。如果您想快速添加对单个脚本的引用,这将非常有用。像这样(取自Orchard.Web \ Core \ Shapes \ Views \ Document.cshtml 的例子):
@{ Script.Include("html5.js").AtLocation(ResourceLocation.Head); }
答案 1 :(得分:11)
如果您安装并启用了Orchard.jQuery模块,则在视图的顶部使用:
Script.Require("jQuery")
看看Orchard.jQuery项目中的ResourceManifest类(应该在Orchard解决方案文件中的某个位置),在那里你可以看到使用这种语法可以包含的所有不同的jQuery模块(例如jQueryUI_Core
, jQueryUI_Tabs
等)
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);
答案 2 :(得分: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>
答案 3 :(得分:0)
要有一个很好的示例,请查找模块ContentPicker。这附带默认的Orchard源代码。它显示了如何使用Script.Require(“MyScript”)。 JQuery模块本身就是一个很好的例子。该模块还附带默认源代码。
注意:我指的是Orchard 1.7及更高版本