【问题标题】:How to add custom clientside javascript to demandware SiteGenesis homepage?如何将自定义客户端 javascript 添加到 demandware SiteGenesis 主页?
【发布时间】:2017-05-15 17:24:59
【问题描述】:

我通过与 SiteGenesis 合作来学习。到目前为止,我了解了需求软件中控制器和模板的基础知识。我想了解如何将客户端 javascript 添加到需求软件的页面中。例如,SiteGenesis 的主页在 sitecore_controllers 中有一个控制器,用于渲染主页模板。我想在加载页面时向用户添加一条简单的警报消息:alert('hello world')。我可以随意破解并在某处插入此消息,但我想通过添加我自己的墨盒并添加一个单独的 js 文件来做到这一点。这样做的最佳实践方法是什么?

【问题讨论】:

    标签: demandware


    【解决方案1】:

    您是正确的,内联脚本不是这里的最佳实践。为了从您的代码链接脚本文件,您需要执行以下操作:

    1. 将脚本文件添加到墨盒的 static/js 文件夹中。
    2. 使用 URLUtils 类方法创建此脚本文件的 URL。
    3. 添加script标签,src属性指向2中创建的URL。

    现在的最佳做法是将这些脚本标记放在结束正文标记之前。您可能希望为这些脚本标签创建一个模板,并使用本地 isinclude 标签从装饰器模板或页脚模板中包含它。

    任何问题 - 让我知道。

    附:我假设你知道/理解:

    • 脚本 API 类 URLUtils 和 URL;
    • 如何在模板中打印值;
    • 本地和远程包含(isinclude 标签变体);
    • 装饰器和装饰模板(isdecorate、isreplace 标签)。

    【讨论】:

    • 谢谢。我对架构有基本的了解,对脚本 api(控制器)有点熟悉 ..
    • <script src="${URLUtils.absStatic('/js/hello-world.js')}" type="text/javascript"></script> 为我工作,hello-world.js 位于cartridge/static/default/js/hello-world.js
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多