Prestashop multistore - 如何将 JS 代码添加到 head only for one shop

Prestashop multistore - How to add JS code to head only for one shop

我有 PrestaShop™ 1.5.6.2 商店。我正在使用 multistore(两个站点)。我必须将一些 JS 代码添加到 head 部分,但只能添加到一家商店。有人知道怎么做吗?

您可以尝试使用这个覆盖代码:

class FrontController extends FrontControllerCore {
    public function setMedia()
    {
        parent::setMedia();
        if ($this->context->shop->id == ID_OF_YOUR_SHOP) {
            $this->addJS(_THEME_JS_DIR_.'yourfile.js');
        }
    }
}

将其放入 override/classes/controller/FrontController.php 并记住删除 cache/class_index.php

此代码段将添加 yourfile.js 如果 id_shop = ID_OF_YOUR_SHOP

文件从 themes/yourtheme/js/.

加载

在您的主题中使用 Smarty(无覆盖),在 header.tpl 中:

{if $cart->id_shop==1}
        <script type="text/javascript" src="{$js_dir}MyScript.js"></script>

{/if}

将此代码插入 header。将 id_shop 更改为您要处理的那个。 MyScript.js 文件应该在 /themes/MyTheme/js 文件夹中