Prestashop 1.6.1.4-将CSS添加到模块的CMS页面

时间:2018-12-17 22:09:46

标签: css module content-management-system prestashop

我正在制作一个在产品编辑页面中添加新标签的模块。安装是Prestashop 1.6.1.4。该模块添加了一个选项卡,其中包含一些将数据发送到mysql表的输入字段,但是我要做的是对字段进行一些样式设置,以使它们看起来不错。我将其添加到我的module.php文件中:

public function install() {
    if ($this->psversion() == 5 || $this->psversion() == 6)
    {
        if (parent::install() == false or !$this->registerHook('displayHeader') or !$this->registerHook('productFooter') or !$this->registerHook('displayAdminProductsExtra') or !$this->registerHook('actionProductUpdate') or !$this->registerHook('displayBackOfficeHeader'))
        {
            return false;
        }
    }

    return true;
}

然后在此下方输入以下代码:

public function hookDisplayBackOfficeHeader($params) {
    $this->context->controller->addCSS($this->_path.'views/css/adminsportsnutritionfadd.css');
}

但是无法显示.css文件。该文件位于正确的位置,具有适当的权限,并且文件的所有者是www-data:www-data,所以这不应该是权限问题。我在Prestashop中禁用了CSS合并以及缓存。重新加载页面之前,我还删除了Prestashop的缓存,以防万一,以及删除浏览器的缓存。有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

这样做:

 public function hookBackOfficeHeader()
    {
      $this->context->controller->addCSS($this->_path.'views/css/adminsportsnutritionfadd.css');        
    }

对我来说,它是这样的:

    $this->context->controller->addCSS($this->_path . 'views/css/back.css');

因此,唯一的不同是css文件名。

答案 1 :(得分:0)

不确定是否进行了排序,但是...

我在大多数模块中使用此功能来添加 jQuery,Font-awesome,CSS和JS,然后仅在该模块页面上显示...

public function hookDisplayBackOfficeHeader($params)
{
    if(!(Tools::getValue('controller') == 'AdminModules' 
      && Tools::getValue('configure') == 'MyModuleName')
    ){
        return;
    }
    else
    {
        if ( method_exists($this->context->controller, 'addJquery') )
        {
            $this->context->controller->addJquery();
            $this->context->controller->addCss('//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
            $this->context->controller->addCss($this->_path.'views/css/back.css');
            $this->context->controller->addJs($this->_path.'views/js/back.js');
        }
    }
}