编程语言
首页 > 编程语言> > php – Prestashop将css添加到模块中

php – Prestashop将css添加到模块中

作者:互联网

我在prestashop 1.4中创建了一个模块,比如blocktest

模块/ blocktest / blocktest.php:

...

public function hookLeftColumn($params)
{
    global $smarty;
    $smarty->assign(array(
        'test' => 'test'
    ));
    return $this->display(__FILE__, 'blocktest.tpl');
}

public function hookHeader()
{
    Tools::addCSS($this->_path.'blocktest.css', 'all');
}

模块/ blocktest / blocktest.css:

* { background-color: red; }

问题:我的css不包括在内.

我尝试了什么:

在管理员>偏好>表演>聪明,我已将缓存设置为no,并强制编译为yes.在管理员>偏好>表演>聪明,缓存设置为否.

现有模块使用相同的css包含:Tools :: addCSS($this-> _path.’blocktest.css’,’all’);,但css文件位于< themeName> / css / modules /< moduleName&gt ; /&LT MODULENAME&GT的CSS.哪个是奇怪的,因为$this-> _path指向模块文件夹:modules /< moduleName> /.

但无论如何,我试图将我的css文件放在< themeName> /css/modules/blocktest/blocktest.css中,但这不起作用.也许我错过了什么

解决方法:

您还记得在模块安装期间注册标题的钩子吗?

function install() {
    if (!parent::install())
        return false;
    if (!$this->registerHook('header'))
        return false;
    return true;
}

没有它,你将不得不使用Admin>中的“移植模块”功能.模块>职位,这样做.请务必使用Firebug等工具进行检查,以验证您的文件是否存在.

另外,我认为有些东西缺失了,你能为我们提供你模块的完整代码吗?请向我们提供您使用的Prestashop版本.

标签:prestashop,php,css,module
来源: https://codeday.me/bug/20190723/1515381.html