Как добавить имя класса в тег body, если у позиции модуля есть модуль?

Я пытаюсь добавить класс в тег body, если в конкретной позиции модуля есть хотя бы 1 модуль. Я попытался добавить код для добавления класса в тег body, но при загрузке страницы (с добавленным кодом) страница пуста. Мой код ниже.

<body class="site

<?php
if ($this->countModules('nav-productpage')) :
echo 'productnav'
endif;
?>">

0

Решение

Вы получили пустую страницу из-за отсутствия точки с запятой, вызывающей синтаксическую ошибку. Вы можете проверить консоль и увидеть статус ошибки 500.

<body class="site

<?php
if ($this->countModules('nav-productpage')) :
echo 'productnav'; // missing semicolon here
endif;
?>">

Код может быть уменьшен до:

<body class="site<?php echo $this->countModules('nav-productpage')) ? ' productnav' : '' ?>">
3

Другие решения

Других решений пока нет …