我是prestashop的新手。我创建了CSS文件,并希望将其添加到prestashop主题。如何添加新的填充并使prestashop读取标题部分中的文件?在论坛上,我看到他们说要将其添加到hookheader,我试图将其添加到某些模块并执行以下操作:
1)添加到主题头文件 {hook h="myCssHook"}
2)添加一些常用模块功能:
public function myCsshook(¶ms)
{
$this->context->controller->addCSS(($this->_path).'prestashop/myshop/theme/css/myoverride/myCsstheme.css', 'all');
}
3)在模块的installition中复制并添加:
|| $this->registerHook('myCssHook') == false
而且没有用。我正在使用prestashop 1.6.1.1
最好的方法是在正确的控制器文件的setMedia()函数中添加以下内容。
$this->addCSS(_THEME_CSS_DIR_.'myoverride/myCsstheme.css');
例如,如果要将css添加到所有“产品”页面,则必须在之后将这些代码添加到controllers / front / ProductController.php中。
$this->addCSS(_THEME_CSS_DIR_.'product.css');
如果要将其添加到所有页面,则必须在之后将这些代码添加到classes / controller / FrontController.php中
$this->addCSS(_THEME_CSS_DIR_.'global.css', 'all');
一种更好(更干净)的方法是创建替代文件。
例如,对于FrontController,在override / classes / controller / FrontController.php中创建一个名为FrontController.php的新文件,然后输入以下代码:
<?php
class FrontControllerCore extends Controller
{
public function setMedia()
{
parent::setMedia(); // This will take all code in setMedia() of the original classes/controller/FrontController.php
$this->addCSS(_THEME_CSS_DIR_.'myoverride/myCsstheme.css');
}
}
您可以为每个控制器创建替代文件。如你所愿。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句