如何获取模块以安装视图?


8

我已经在开发环境中开发了一个模块。我使用UI为其构建了一个视图。我已经导出了视图,但是我不知道将其放置在何处,以便在新环境中安装模块也会创建视图。

如何正确执行此操作?

奖励:如何让模块卸载视图hook_uninstall


Answers:


10

创建MODULENAME.views_default.inc文件(将MODULENAME替换为模块名称),并在hook_views_default_views()写入该文件的实现中复制导出的代码。

例如,“视图”模块node_views_default_views()为“节点”模块实现。主页视图的相关部分如下。

  $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在您的主模块文件中实现。请参见Views 3.8 hook_views_default_views()停止工作
第三方
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.