Prestashop 1.6 - 如何将动态类添加到body元素

时间:2016-05-05 11:31:13

标签: prestashop prestashop-1.6

在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/

enter image description here

更新

感谢@TheDrot回答(就在下面),我几乎得到了它。

唯一的问题是:[0]。我收到此错误:第36行的/home/temporal-4/www/override/classes/controller/FrontController.php中的“解析错误:语法错误,意外'[',期待')'”。

如果我删除'[0]'它可以工作但是在课程中我得到“group-array”。我需要打印数组的所有值,如class =“group-1 group-2 group-3”。

1 个答案:

答案 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并重新加载页面。