如何学习Views 3 API?


9

在哪里可以学习views 3 API?我可以使用ui来创建视图,但是我想在模块中使用API​​创建视图。此时,我将接受views 2 API。我看了看文档,并没有走太远。有人知道好的教程吗?

Answers:


7

不确定“创建”视图的确切含义。

首先,如果您有自定义表/数据,则可以使用hook_views_data()以及自定义插件和处理程序来告诉视图如何访问这些表。一些教程/例子:http://treehouseagency.com/blog/neil-hastings/2010/01/19/views-handler-easy-way(Drupal的6)和http://larsolesen.dk/node/273(Drupal的7)。但是同样,只有在要将自己的表公开给视图时,才需要这样做。

然后,有许多预渲染和alter钩子,使您可以更改用户界面中无法执行的某些操作。Drupal 6中的视图挂钩列表

也就是说,没有“ API”可以创建实际的视图(据我所知)。我认为每个人都为此使用视图UI(毕竟,在Drupal 7中现在是一个很棒的UI)。您可以做的是导出在UI中创建的视图,以将其与您的模块或作为新模块一起分发。这也有助于贡献/标准模块不仅将其表公开给视图,而且还提供示例视图,这些视图可以针对特定站点进行自定义/扩展。

除了手动导出它们,您还可以使用功能模块,该模块允许您将各种配置(视图,内容类型,字段,权限等)导出到所谓的功能(基本上是自动生成的模块)中。当将类似视图的配置从开发迁移到生产安装或在多个站点上重复使用相同的视图/配置时,这特别有用。


3

我能够使用Views UI来创建视图,然后将导出的视图添加到hook_views_default_views()并且也创建了hook_views_api(),并且可以使用!这是执行此操作的最佳方法。


2

确定挂钩从何处开始的一个好方法是查看挂钩及其执行顺序。某处有一个图(不幸的是我找不到它),但是这篇文章是一个很好的替代品:它在解释视图的生命周期方面做得很好,该视图显示了挂钩事件发生的顺序。


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.