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

Тип материала: 
Версия Drupal: 
Ключевые слова: 
Модули и темы: 
Пнд, 21/07/2014 - 07:33

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

0 Спасибо

Комментарии

Аватар пользователя dashiwa
2 года 9 months назад dashiwa #

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

0 Спасибо
Аватар пользователя drupby
2 года 9 months назад drupby #

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

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

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

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

0 Спасибо
Аватар пользователя mbaev
2 года 9 months назад mbaev #

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

0 Спасибо
Аватар пользователя mbaev
2 года 9 months назад mbaev #

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

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

0 Спасибо