Orchard 和编辑页面——添加脚本
Orchard and editing page - adding script
我可以通过仪表板向页面添加脚本(通过将页面内容项编辑为 html
)。脚本已添加到页面并进行评估,但为时过早 - none 脚本已加载(例如,jQuery)。
我不想将脚本添加到 Layout
,因为为所有页面添加此脚本毫无意义。
是否有任何方法可以通过仪表板将脚本添加到单个页面的内容,以便对其进行正确评估?
或者我应该创建一个包含特殊内容部分的单独模块(以包含 view/shape 的适当脚本)并将该部分添加到自定义 ContentType
(还包含 BodyPart
和其他内容,例如 Page
内容项)?
或者我是否应该以交互部分是小部件的方式分离整个内容,不应在 Page
内容项中编辑?
您可以将脚本文件添加到 html 内容的顶部,如下所示:
<p>
<script type="text/javascript" src="/*path of the file*/">// <![CDATA[
// ]]></script>
</p>
添加步骤:仪表板->内容->打开特定页面->Html源代码编辑器->在顶部添加上面的脚本和您的脚本文件路径。
可以使用 Script.Foot() 扩展方法吗?
@using(Script.Foot()) {
...
}
Using jQuery from Orchard module page
我建议为您的脚本添加一个部分,例如:
public class CustomScriptPart : ContentPart<CustomScriptPartRecord>
{
public bool AtFoot
{
get { return Record.AtFoot; }
set { Record.AtFoot = value; }
}
public string Script
{
get { return Record.Script; }
set { Record.Script = value; }
}
}
Views/Parts/CustomScript.cshtml
@if(Model.AtFoot) {
using(Script.Foot()) {
<script type="text/javascript">
@Model.Script
</script>
}
} else {
<script type="text/javascript">
@Model.Script
</script>
}
但类似的事情可能已经完成,例如 Vandelay Industries。
我可以通过仪表板向页面添加脚本(通过将页面内容项编辑为 html
)。脚本已添加到页面并进行评估,但为时过早 - none 脚本已加载(例如,jQuery)。
我不想将脚本添加到 Layout
,因为为所有页面添加此脚本毫无意义。
是否有任何方法可以通过仪表板将脚本添加到单个页面的内容,以便对其进行正确评估?
或者我应该创建一个包含特殊内容部分的单独模块(以包含 view/shape 的适当脚本)并将该部分添加到自定义 ContentType
(还包含 BodyPart
和其他内容,例如 Page
内容项)?
或者我是否应该以交互部分是小部件的方式分离整个内容,不应在 Page
内容项中编辑?
您可以将脚本文件添加到 html 内容的顶部,如下所示:
<p>
<script type="text/javascript" src="/*path of the file*/">// <![CDATA[
// ]]></script>
</p>
添加步骤:仪表板->内容->打开特定页面->Html源代码编辑器->在顶部添加上面的脚本和您的脚本文件路径。
可以使用 Script.Foot() 扩展方法吗?
@using(Script.Foot()) {
... }
Using jQuery from Orchard module page
我建议为您的脚本添加一个部分,例如:
public class CustomScriptPart : ContentPart<CustomScriptPartRecord>
{
public bool AtFoot
{
get { return Record.AtFoot; }
set { Record.AtFoot = value; }
}
public string Script
{
get { return Record.Script; }
set { Record.Script = value; }
}
}
Views/Parts/CustomScript.cshtml
@if(Model.AtFoot) {
using(Script.Foot()) {
<script type="text/javascript">
@Model.Script
</script>
}
} else {
<script type="text/javascript">
@Model.Script
</script>
}
但类似的事情可能已经完成,例如 Vandelay Industries。