Php Prestashop multistore-如何仅为一家店铺向head添加JS代码

Php Prestashop multistore-如何仅为一家店铺向head添加JS代码,php,prestashop,prestashop-1.5,Php,Prestashop,Prestashop 1.5,我已经准备好了™ 1.5.6.2车间。我正在使用multistore(两个站点)。我必须向head部分添加一些JS代码,但只添加到一个商店。有人知道怎么做吗?您可以尝试使用以下覆盖代码: class FrontController extends FrontControllerCore { public function setMedia() { parent::setMedia(); if ($this->context->shop-

我已经准备好了™ 1.5.6.2车间。我正在使用multistore(两个站点)。我必须向head部分添加一些JS代码,但只添加到一个商店。有人知道怎么做吗?

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

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

如果
id\u shop=id\u OF\u YOUR\u shop
,则此代码段将添加yourfile.js


文件是从
themes/yourtheme/js/
加载的。您可以尝试使用以下替代代码:

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

如果
id\u shop=id\u OF\u YOUR\u shop
,则此代码段将添加yourfile.js


文件从
themes/yourtheme/js/
加载,在您的主题中使用Smarty(无覆盖),在header.tpl中:

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

{/if}
{if$cart->id\u shop==1}
{/if}

在标题中插入此代码。将id_商店更改为您要处理的商店。MyScript.js文件应位于/themes/MyTheme/js文件夹中,在主题中使用Smarty(无覆盖),在header.tpl中:

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

{/if}
{if$cart->id\u shop==1}
{/if}
在标题中插入此代码。将id_商店更改为您要处理的商店。MyScript.js文件应位于/themes/MyTheme/js文件夹中