[Решено] Views. Add attributes to row programmatically.

Аватар пользователя mbaev

Доброго дня.
Столкнулся с неприятностью в хуках views. Не найду, где можно программно добавить свой атрибут в row типа data-name="value". Пошукал по хукам hook_views_pre_render, template_process_views_view, template_preprocess_views_view - ничего не нашел.
Вьюха такая (если это имеет значение):

ВложениеРазмер
Иконка изображения dashboard.png71.24 КБ
Модули и темы:
Ключевые слова:
Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя dashiwa
dashiwa 3 года назад

Может шаблон?

Аватар пользователя drupby
drupby 3 года назад

для шаблонов вьюх есть $attributes и $attributes_array(если для каждой row нужны разные атрибуты - по примеру $classes_array), их нужно формировать в препроцессе и потом вставлять в шаблоне либо же вставлять в шаблон как есть

Аватар пользователя mbaev
mbaev 3 года назад
drupby написал:
для шаблонов вьюх есть $attributes и $attributes_array(если для каждой row нужны разные атрибуты - по примеру $classes_array), их нужно формировать в препроцессе и потом вставлять в шаблоне либо же вставлять в шаблон как есть

Спасибо. $attributes_array пробовал, но не заработало, видимо в шаблоне по дефолту атрибуты не рендерятся.

dashiwa, тебе тоже спасибо.

Аватар пользователя mbaev
mbaev 3 года назад

Оказалось, что мне нужен template: views-view-unformatted.tpl.php и первый в рендере хук: template_preprocess_views_view, запускается после того как отрендерится контент для вьюхи. Он (контент) находится HTML'ем в $vars['rows'];
Остается ощущение, что есть другие шаблоны и хуки о которых я еще не знаю.
UPD: Проще говоря хук: template_preprocess_views_view запускается после template: views-view-unformatted.tpl.php.

Аватар пользователя mbaev
mbaev 3 года назад

Задача решена.
Аттрибут добавляю в template: views-view-unformatted.tpl.php. Кому понадобится - hook_views_pre_render(&$view) выполняется перед рендером всех шаблонов.

Тема закрыта.