【问题标题】:How to create a Views style plugin for Drupal?如何为 Drupal 创建 Views 样式插件?
【发布时间】:2011-04-11 17:06:13
【问题描述】:

我正在尝试为 Drupal 中的视图模块创建视图样式插件。样式插件的目的是将视图呈现为下拉(即 SELECT)框。

我终其一生都找不到任何体面或完整的文档来说明如何做到这一点。我查看了其他 Views Style 插件的源代码,但没有帮助。

是否有人知道它是如何完成的,或者知道任何关于该主题的体面的文档、指南或教程?

【问题讨论】:

  • 你在“Writing Views 2 style and row plugins”下看到groups.drupal.org/node/10129了吗?与其简单地询问它是如何完成的,您能否发布您尽力而为的代码和/或确切地告诉我们您遇到了哪些问题?
  • 在你可以写出“体面”的文档之后......谢谢
  • 对于它的价值,我同意 Views 文档需要大量工作——对于如此复杂的模块,关于它应该如何操作的信息非常少。最好的办法是四处寻找一个可以大致完成您想做的事情的模块(请参见下面的示例)并弄清楚他们做了什么。
  • @marcvangend 我看过那篇文章但不明白。我不是在要求别人为我编写代码,而是问是否有人知道任何像样的文档。要求这么复杂的模块是不是太过分了?
  • @gagarine 如果我知道要使用它,我会很乐意编写文档!

标签: php drupal plugins drupal-6 views


【解决方案1】:

不确定样式元素是否正是您正在寻找的:即使您可以让表单元素呈现为正确的 HTML,表单 API 的安全性也会对从该元素提交的任何值不利.

(Drupal 中的表单元素具有双重生命:它们作为 HTML 存在,但也存在于 form_state 缓存中。因此,任何未由表单 API 显式呈现的表单元素将在提交表单时被丢弃。 )

如果您正在寻找视图驱动的表单元素,更好的解决方案是使用普通表单 API 构建表单,并让视图填充元素的 #options 数组。

来自nodereference的函数_nodereference_potential_references_views CCK 插件具有类似的功能,可能是一个不错的起点。 (它使用 CCK 钩子,所以在这种情况下你不能直接复制粘贴,但它应该能让你很好地了解你需要做什么)

【讨论】:

  • 我不打算使用表单 API。它仅适用于网站主页上的单个下拉框。用户将从列表中进行选择,然后下拉菜单将导航到新页面。
  • 我相信你有你的理由。但是,我想说你的第二句话与第一句话相矛盾:这种事情使用 FAPI 非常快速和简单。使用视图,它充其量只是矫枉过正——视图不是为生成交互式表单元素而构建的。
  • 我不喜欢 Views 的文档,但是您很难找到合适的教程,这与您将 Views 用于 Views 不打算做的事情这一事实有很大关系。
  • 我的印象是视图样式插件可以将视图呈现为 HTML 即列表、表格等。你不能怪我认为我可以将视图呈现为带有自定义插件?我将看看 Forms API。感谢您的帮助。
  • 不用担心——我确信这样做是可能的,只是这样做可能更麻烦:你最终会为这个特定用途完全重写几个插件.想一想,将其作为概念验证进行,这可能是您更熟悉 Views 插件的好方法,一旦您有了更传统的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 2019-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多