我正在开发prestashop 1.5中的一个模块。我需要给一些设计(CSS),当我的模块访问管理员在管理面板。我是新的prestashop ..谁能帮助我..如何将CSS添加到prestashop 1.5中的模块?
回答
只需在hookHeader补充:
$this->context->controller->addCSS($this->_path.'style.css', 'all');
我希望这种帮助, 迈克
即时面临同样的问题... 我认为唯一的办法是进入 [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
我已经找到了更好的方法。还有一个更具体的钩子: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方法独立工作,根本不考虑挂钩位置。
- 1. 添加multilangage到模块PrestaShop
- 2. 如何将jquery ui滑块添加到PrestaShop模块表单
- 3. Prestashop。如何将订单条形码添加到mailalert模块?
- 4. Prestashop - 添加模块挂钩
- 5. 如何将hookBackOfficeHeader中的条件添加到我自己的prestashop模块中?
- 6. 如何将我的模块Javascript添加到Prestashop的* all *页面中?
- 7. Prestashop模块的CSS覆盖
- 8. 如何在prestashop的后台模块中添加页面
- 9. 如何添加文章页面中的某些模块(Joomla 1.5)
- 10. 如何将类添加到HTML模块
- 11. 如何添加<script>标签到的Prestashop页面中的模块文件
- 12. 我们如何在Joomla 1.5模块中添加JPagination?
- 13. 如何将模块挂接到prestashop中的新页面?
- 14. 的Prestashop 1.6重写模块的CSS
- 15. 如何将css和javascript文件添加到Odoo 8中的自定义模块?
- 16. 在Prestashop 1.5上回退到Smarty2 1.5
- 17. 将模块输出添加到块
- 18. 如何将变量添加到我从中导入的模块?
- 19. 如何将属性添加到boost :: python中的模块?
- 20. 如何将SAP B1 SystemForm添加到我的新模块中?
- 21. 如何将css添加到Javascript中?
- 22. 如何将滑块添加到QMenu中?
- 23. 如何将我自己的自定义CSS和HTML添加到Prestashop?
- 24. 如何在Python中将记录器添加到模块中?
- 25. PrestaShop - 覆盖模块CSS文件
- 26. 如何使用webpack将CSS添加到AngularJS模板中?
- 27. 如何将django模块添加到pydiction词典中?
- 28. 如何将其他Firebase模块添加到Swift项目中?
- 29. 如何将变量添加到模块上下文中 - Node.js
- 30. 如何将noConflict添加到JS模块模式?
你确定这种方式他们也不会被包括在前端? 另外:是不是可能需要注册该挂钩? – Stratboy 2013-07-23 13:21:40
这种方式CSS不会被添加到全局缩小的CSS ..对吗? – drAlberT 2014-01-10 11:16:35
@Stratboy:事实上有很多方法,是的,它会被添加到前端。我认为你必须使用$ this-> context-> controller-> addCSS($ this - > _ path.'style.css');仅限管理员。 – Mike 2014-01-19 22:42:21