Как мне получить мой модуль для установки представления?

8

Я разработал модуль в среде разработки. Я построил представление для этого с помощью пользовательского интерфейса. Я экспортировал представление, но я не знаю, куда его поместить, чтобы установка модуля в новой среде также создавала представление.

Как мне сделать это правильно?

Бонус: как мне модуль удалить вид на hook_uninstall?

user1359
источник
Для Drupal 8 см. - drupal.stackexchange.com/questions/175313/…
iStryker,

Ответы:

10

Создайте файл MODULENAME.views_default.inc (замените MODULENAME именем вашего модуля) и скопируйте экспортированный код в реализацию, которую hook_views_default_views()вы записали в этот файл.

Например, модуль Views реализует node_views_default_views()модуль Node. Соответствующие части для просмотра передней страницы являются следующими.

  $views = array();

  // Omissis

  $view = new view;
  $view->name = 'frontpage';
  $view->description = 'Emulates the default Drupal front page; you may set the default home page path to this view to make it your front page.';
  $view->tag = 'default';
  $view->base_table = 'node';
  $view->human_name = 'Front page';
  $view->core = 0;
  $view->api_version = '3.0';
  $view->disabled = TRUE; /* Edit this to true to make a default view disabled initially */

  // Omissis

  $views['frontpage'] = $view;

Затем ловушка возвращает содержимое $views.

Если представление не было перезаписано пользователем, оно не должно отображаться в списке представлений после удаления модуля, реализующего ловушку.

киамлалуно
источник
2
Не забудьте внедрить hook_views_apiв ваш основной файл модуля. Посмотрите Представления 3.8 hook_views_default_views () перестал работать .
Третий