在Prestashop 1.6网站中,我需要在body元素中添加一个动态类(仅在前端)。
该类应为'group- [group-name-id]',其中group-name-id是访问者的组名id。
Presashop中的默认组是:
'1' - '访问者'
'2' - '旅客'
'3' - '负荷消费'
有办法做到这一点吗?
我发现了这一点,但它似乎过时了,因为它适用于PS 1.4:https://www.prestashop.com/forums/topic/179593-adding-category-class-id-to-product-page-body/
更新
感谢@TheDrot回答(就在下面),我几乎得到了它。
唯一的问题是:[0]。我收到此错误:第36行的/home/temporal-4/www/override/classes/controller/FrontController.php中的“解析错误:语法错误,意外'[',期待')'”。
如果我删除'[0]'它可以工作但是在课程中我得到“group-array”。我需要打印数组的所有值,如class =“group-1 group-2 group-3”。
答案 0 :(得分:1)
您需要覆盖FrontControllerCore类,因此在文件夹'override / classes / controller /'中创建一个文件FrontController.php并输入此代码
class FrontController extends FrontControllerCore {
public function init()
{
parent::init();
$this->context->smarty->assign('group_id', $this->context->customer->getGroups()[0]; // user can exist in multiple groups, so for this example im just grabbing first group id
}
}
然后在'themes / your_theme /'中打开header.tpl文件并将代码添加到body类
group-{$group_id}
如果在body类中你只看到group-,请务必从cache文件夹中删除class_index.php并重新加载页面。