Замена обработчика базового поля Views2 - PullRequest
0 голосов
/ 09 февраля 2011

Я хочу добавить некоторые параметры рендеринга в обработчик полей Views2 (аналогично «Вывести это поле как ссылка» или «Перезаписать вывод этого поля») для большего контроля над рендерингом разметки HTML (мне нужно добавить несколько дополнительных атрибуты к тегам). Я хочу, чтобы эти дополнительные параметры были доступны для всех (или, по крайней мере, для большинства полей). Можно ли заменить обработчик поля Views2 по умолчанию (т.е. класс views_handler_field) на мой собственный обработчик поля? Есть ловушка для отправки собственных обработчиков (hook_views_handlers), и есть ловушка, чтобы сообщить другим модулям, какой обработчик должен использоваться для данного поля (hook_views_data_alter). Я также не вижу способа переопределить шаблон наследования по умолчанию для view_handler_field и его потомков. И расширение каждого отдельного обработчика поля, предоставляемого другими модулями, с моими собственными классами кажется бессмысленным. Правильно ли я говорю, что это не может быть правильным способом решения этой проблемы?

Если я прав, каков другой способ (1) расширить форму опций поля с некоторыми входными данными и (2) изменить рендеринг этого поля на основе входных данных. Я думаю, (1) может быть достигнуто путем изменения формы по умолчанию ловушкой Drupal, но метод render принадлежит данному обработчику поля, и я не вижу способа перехватить его вызов и вывести измененную разметку.

1 Ответ

0 голосов
/ 28 февраля 2011

Теоретически вы можете использовать несуществующий hook_views_handlers_alter, чтобы изменить путь к классу, который находится где-то

...