Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Orchardcms Orchard和编辑页面-添加脚本_Orchardcms - Fatal编程技术网

Orchardcms Orchard和编辑页面-添加脚本

Orchardcms Orchard和编辑页面-添加脚本,orchardcms,Orchardcms,我可以通过仪表板向页面添加脚本(通过将页面内容项编辑为html)。脚本被添加到页面并进行评估,但是太早了-还没有加载任何脚本(例如jQuery) 我不想将脚本添加到布局,因为为所有页面添加此脚本毫无意义 有没有办法通过仪表板将脚本添加到单个页面的内容中,以便对其进行正确评估 或者我应该创建一个包含特殊内容部分(包括视图/形状的适当脚本)的单独模块,并将该部分添加到自定义的ContentType(还包含BodyPart和其他内容项,如页面内容项) 或者我应该以这样的方式分离整个内容,即交互部分是小

我可以通过仪表板向页面添加脚本(通过将页面内容项编辑为
html
)。脚本被添加到页面并进行评估,但是太早了-还没有加载任何脚本(例如jQuery)

我不想将脚本添加到
布局
,因为为所有页面添加此脚本毫无意义

有没有办法通过仪表板将脚本添加到单个页面的内容中,以便对其进行正确评估

或者我应该创建一个包含特殊内容部分(包括视图/形状的适当脚本)的单独模块,并将该部分添加到自定义的
ContentType
(还包含
BodyPart
和其他内容项,如
页面
内容项)


或者我应该以这样的方式分离整个内容,即交互部分是小部件,不应该在
页面
内容项中编辑?

您可以将脚本文件添加到html内容的顶部,如下所示:

<p>
<script type="text/javascript" src="/*path of the file*/">// <![CDATA[

// ]]></script>
</p>

// 


添加步骤:仪表板->内容->打开特定页面->Html源代码编辑器->在顶部添加上面的脚本和脚本文件路径。

您可以使用script.Foot()扩展名方法吗

@using(Script.Foot()) {
。。。 }


我建议为脚本添加一部分,例如:

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; }
    }
}
公共类CustomScriptPart:ContentPart { 步行公共场所 { 获取{return Record.AtFoot;} 设置{Record.AtFoot=value;} } 公共字符串脚本 { 获取{return Record.Script;} 设置{Record.Script=value;} } }
视图/零件/CustomScript.cshtml

@if(Model.AtFoot) {
    using(Script.Foot()) {
        <script type="text/javascript">
            @Model.Script
        </script>
    }
} else {
    <script type="text/javascript">
        @Model.Script
    </script>
}
@if(Model.AtFoot){
使用(Script.Foot()){
@模型脚本
}
}否则{
@模型脚本
}

但可能类似的事情已经发生了,例如Vandelay Industries。

是的,但正如我提到的,脚本被评估到早期。大多数脚本都包含在foot中,所以我可以使用它们。@pwas是页面中的页脚内容还是小部件中单独提供的页脚内容?@pwas我的问题有意义吗?不,没有:(页面在内容区域中呈现,但脚本包含在页脚中(脚本由主题包含)@小部件中的PWA使用层规则的特定url创建新层,并在页脚部分添加新html小部件,添加脚本并根据需要选择层。您是否尝试过Vandelay Industries?