首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prestashop 1.6 -如何向body元素添加动态类

Prestashop 1.6 -如何向body元素添加动态类
EN

Stack Overflow用户
提问于 2016-05-05 11:31:12
回答 2查看 1.5K关注 0票数 0

在Prestashop 1.6站点中,我需要向body元素添加一个动态类(就在前面)。

类应该是‘组-组-名- id’,其中组名-id是访问者的组名id。

Presashop中的默认组是:

“1”--“来访者”

“2”--“客人”

“3”--“顾客”

有办法这样做吗?

我发现了这一点,但似乎已经过时了,因为它适用于PS1.4:https://www.prestashop.com/forums/topic/179593-adding-category-class-id-to-product-page-body/

更新:

多亏了@TheDrot的回答(就在下面),我几乎就能得到它。

唯一的问题是:我得到了这个错误:第36行/home/temporal-4/www/override/classes/controller/FrontController.php中的"Parse :语法错误,意外的'[',期待')‘“。

如果我删除'‘,它可以工作,但在类中,我得到“组数组”。我需要打印数组的所有值,如class=“组-1组-2组-3”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-05 12:43:56

您需要覆盖FrontControllerCore类,因此在文件夹‘FrontController.php / class /控制器/’中创建一个文件,并放入下面的代码

代码语言:javascript
复制
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/”中打开header.tpl文件,并向body类添加代码

代码语言:javascript
复制
group-{$group_id}

如果在body类中只看到组,请确保从缓存文件夹中删除class_index.php并重新加载页面。

票数 1
EN

Stack Overflow用户

发布于 2021-09-07 11:34:59

对于PS1.7,不需要覆盖任何东西,也许它适用于PS1.6

添加$groupid = "group-1“或"group-2”等。要通过在控制器和模板中使用add ()函数来实现智能参数,请在顶部添加

代码语言:javascript
复制
{$page["body_classes"][$groupid] = 'true'}

让我们知道这个把戏

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37049485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档