Drupal - динамически добавлять класс в обертку div на основе типа узла содержимого панели панели

Я использую модуль панелей drupal 7 везде, и я настроил шаблон страницы панели для своей домашней страницы. Проблема в том, что мне нужно добавить класс в оболочку div в шаблоне, который зависит от типа узла внутри панели панели, которая находится внутри оболочки. Это необходимо добавить динамически, так как наши редакторы сайтов будут часто перемещать панели панелей.

то есть строка из моего шаблона выглядит так:

   <div class="content_wrapper">
        <div id="main-content-row1" class="content">
            <?php print render($content['content-row1']); ?>
        </div>
    </div>

И я хочу динамически добавить класс в div 'content_wrapper' в зависимости от типа узла внутри $content['content-row1'].


person rickf    schedule 07.08.2013    source источник


Ответы (1)


Найдите файл tpl.php, который печатает этот макет панели из модуля панелей (его можно найти в папке «panels/plugins/layouts/YOUR_LAYOUT») и скопируйте его в папку вашей темы< /сильный>.

В файле tpl.php добавьте код php так же, как вы редактируете темы drupal.

person TheodorosPloumis    schedule 08.08.2013
comment
Привет, спасибо за ответ. У меня есть файл tpl, который печатает макет в теме, где я настроил вышеуказанную разметку. Мне просто нужно знать, как добавить класс в div .content_wrapper, который динамически устанавливается в зависимости от типа узла, который в данный момент находится внутри $content['content-row1'] (панель панели). - person rickf; 09.08.2013
comment
Отладьте эту переменную с помощью модуля Devel и проверьте, получает ли он переменную $node и каким образом. Добавьте dpm($content['content-row1']); в этот файл tpl.php, чтобы выяснить это. - person TheodorosPloumis; 09.08.2013
comment
Спасибо за вашу помощь, я смог получить то, что мне нужно, с помощью модуля devel. - person rickf; 13.08.2013