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> ; /< MODULENAME>的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