xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Программно добавить атрибуты к html элементам в node.tpl.php

Опубликовано в

В седьмом друпале можно добавлять html атрибуты (class, title и т.д.) к элементам ноды прямо из модуля без правки шаблона node.tpl.php:

function modulename_preprocess_node(&$vars)
{
    // добавим пользовательский атрибут к элементу в который обёрнута нода
    $vars['attributes_array']['data-nid'] = $vars['node']->nid;
 
    // добавим класс к заголовку
    $vars['title_attributes_array']['class'][] = 'title';
 
    // добавим атрибут dir к элементу в который обёрнуто содержимое ноды
    $vars['content_attributes_array']['dir'] = 'ltr';
}

На выходе нода будет выглядеть примерно так:

<div data-nid="123">
    <h2 class="title">Заголовок ноды</h2>
    <div class="content" dir="ltr">
        Содержимое ноды
    </div>
</div>

Подробнее.

Написанное актуально для Drupal 7.x
Похожие записи

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании