2013-04-29 65 views

回答

3

只需在hookHeader补充:

$this->context->controller->addCSS($this->_path.'style.css', 'all'); 

我希望这种帮助, 迈克

+0

你确定这种方式他们也不会被包括在前端? 另外:是不是可能需要注册该挂钩? – Stratboy 2013-07-23 13:21:40

+0

这种方式CSS不会被添加到全局缩小的CSS ..对吗? – drAlberT 2014-01-10 11:16:35

+0

@Stratboy:事实上有很多方法,是的,它会被添加到前端。我认为你必须使用$ this-> context-> controller-> addCSS($ this - > _ path.'style.css');仅限管理员。 – Mike 2014-01-19 22:42:21

1

即时面临同样的问题... 我认为唯一的办法是进入 [path-to-project]/[admin-path] /themes/default/template/helper/form/form.tpl

并加入块{block name =“before” } {/ block}

并将此块添加到您的form.tpl到您的控制器模板中: [path-to-project]/[admin-path]/themes/default/template/controllers/[yourcontrollername]/helpers/form/form.tpl

{block name="before"} 
<style> 
/* your style here */ 
</style> 
{/block} 

获取更多信息,您可以参考我的博客文章在这里: http://mercstudio-tech.blogspot.com/2013/05/prestashop-form-field-type.html

2

我已经找到了更好的方法。还有一个更具体的钩子:displayBackOfficeHeader。 这确保您的环境将只是后台,而不是前台。 另外,为了确保它只能在特定情况下工作(例如只在配置页面中),您可以检查url变量。 因此,首先,在安装()添加寄存器功能(并确保复位模块使钩将工作):

$this->registerHook('displayBackOfficeHeader'); 

还要添加注销代码卸载():

$this->unregisterHook('displayBackOfficeHeader'); 

然后添加相关函数。在这个例子中,我检查,如果我在配置页面是(imagebanner是模块的名称):

public function hookDisplayBackOfficeHeader($params){ 

     if(!(Tools::getValue('controller') == 'AdminModules' && Tools::getValue('configure') == 'imagebanner')){ 
      return; 
     } 

     $this->context->controller->addCSS($this->_path.'back-office.css', 'all'); 
    } 

此外,take a look to the docs。 希望它有帮助!

[编辑]

我刚刚发现,上面的代码中添加的文件堆栈的开始,而不是结尾。这意味着,例如,BEFORE jQuery。似乎没有办法控制注射顺序。不管怎么说,现在,我已经找到了一个简单的解决方案:直接返回的HTML代码:

public function hookDisplayBackOfficeHeader($params){ 

    if(!(Tools::getValue('controller') == 'AdminModules' && Tools::getValue('configure') == 'homebanners')){ 
     return; 
    } 

    $html = ''; 
    $html .= '<link href="'.$this->_path.'back-office.css" rel="stylesheet" type="text/css" media="all" />'; 
    $html .= '<script src="'.$this->_path.'back-office.js" type="text/javascript" ></script>'; 

    return $html; 
} 

它的工作原理,因为如果你看看到管理header.tpl,你看到胡克其实寄予在js/css incusion代码之后。所以它只是起作用。相反,addCSS/JS方法独立工作,根本不考虑挂钩位置。

相关问题