Не всі знають, що модуль Views надає досить обширний API. На додаток до чималої системи хуків, функціонал views можна розширювати додаючи плагіни.
Існує 10 типів плагінів для views.
В даній статті буде розглянуто створення плагіна типу Display extender, який уможливить додавання власного налаштування для дисплеїв. При розробці сайтів це налаштування потім можна застосувати в будь-якому місці, де викликається дисплей.
Для реалізації плагіна створюємо модуль і оголошуємо в ньому hook_views_api():
php /** * Implements hook_views_api(). */ function extender_example_views_api() { return array( 'api' => 3, ); }
Далі, згідно документації, нам потрібно викликати hook_views_plugins() в файлі extender_example.views.inc:
php /** * Implements hook_views_plugins(). */ function extender_example_views_plugins() { $path = drupal_get_path('module', 'extender_example'); $plugins = array(); $plugins['display_extender']['extender_example'] = array( 'title' => t('Extender example textarea'), 'help' => t('Add textarea.'), 'path' => $path, 'handler' => 'extender_example_plugin_display_extender_code', ); return $plugins; }