【发布时间】:2010-11-14 08:39:44
【问题描述】:
我只能找到预定义处理程序的文档。我想我必须重写其中一个处理程序类,但我实际上必须重写哪些方法?我在某处读到需要向 Views 注册 Views 2 的新处理程序。在哪里以及如何?
我想定义一个不是数据库字段的字段,而是一个从其他字段计算的字段(对未来日期/时间的倒计时)。
编辑:
我说的是一个自定义模块,它已经有两个 Views 2 字段(两个时间戳)。现在我想再定义两个字段,它们不是真正的 DB 字段,而是根据实际字段计算得出的。所以我们在这里谈论hook_views_data()。我不想为具体视图定义一个具体字段,而是定义一个可由模块用户用于任意视图的字段。
问题是,这些字段是如何定义的?如果我将该字段声明为 notafield 并设置非标准处理函数,我会在视图配置 GUI Broken/missing handler 中收到错误。我可以从视图代码中猜到,我可能需要重写其中一个预定义的处理程序类(与视图 1 中的全局函数相反)。但是我需要重写哪些方法,将新类放在哪里,视图如何知道在哪里可以找到该类?我找不到自定义字段处理程序或查询处理程序的任何文档。
编辑:
我记录了整个事情here。
【问题讨论】:
-
如果您使用 CCK 字段,您可能会考虑制作一个字段格式化程序,这是一个相对简单的任务。
-
没有 CCK 字段。在贡献的模块中,还有包含时间戳的附加节点字段。这些已经通过视图可见。但现在我想要 notafield 字段基本上是“fieldname - UNIX_TIMESTAMP()”...
标签: php drupal drupal-6 drupal-modules views2