【问题标题】:Sorting cck fields in drupal6 views by 'revision date'按“修订日期”对 drupal6 视图中的 cck 字段进行排序
【发布时间】:2009-11-26 14:46:57
【问题描述】:

我正在寻找一种在 drupal6 中构造视图的方法,方法是让它从具有多个值的节点引用 cck 字段中获取“添加日期”。

我需要的是引用节点的标题列表,按它们添加到引用列表的日期排序(降序)。

我尝试设置一个“节点”视图,让它从 url 中获取节点 ID,并让它显示通过关系链接到 cck 字段的节点标题。当按“修订日期”或“修订视频”对其进行排序时,我显然得到了“正常”列表,因为所有条目都存在于最新修订中。

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: drupal drupal-6 drupal-views cck


    【解决方案1】:

    我不确定这在我理解的 SQL 中是否真的可行。如果我理解正确,您想要附加节点的修订日期,但这些节点是通过一种关系加入的,这将使它们的修订日期看起来像附加节点.修订日期和附加节点2.修订日期。因此,按修订日期排序将是模棱两可的,但您不能对来自两个不同表的同一列进行排序。

    所以你可能需要重新定义目标,或者如果你能弄清楚 SQL(也许我今天只是充满火鸡而且速度很慢)但是视图无法处理它,你可以在你的模块中使用 hook_views_query_alter 并且调整$query->whereiirc。您也可以hook_views_pre_execute,尽管这显然更丑陋,并且要求您能够解析 SQL。如果您只是在某些视图上完全替换 SQL,并且只使用视图 ui 来获得其出色的参数和输出选项,那就太好了。

    【讨论】:

    • "如果我理解正确,您需要附加节点的修订日期" 我正在寻找 nodereferenced 节点添加到查看节点的日期。
    • 啊,我明白了。不幸的是,对于股票 CCK,我不相信这是可能的。你当然可以做一个 nodeapi 钩子来促进这一点,但我不知道任何其他方式。可能已经有一个模块可以做到这一点,但我还没有遇到过它。您想要更多关于如何执行 nodeapi 钩子的描述,或者您熟悉创建模块吗?另外,我很好奇你为什么选择这条路。知道何时连接了一个节点,你会得到什么?
    • 嗯,是这样的。我有包含某些事件信息的页面。最有可能加入活动的艺术家(也是节点)通过节点引用 CCK 字段链接到该节点。目标是让访问者查看最近将哪些艺术家添加到列表中。顺便说一句,我在构建自定义模块/nodeapi 挂钩方面经验很少。如果你能把我送到正确的方向,我将不胜感激。干杯!
    • 酷,所以这里是关于 nodeapi 的处理。基本上,它可以连接到 drupal 中的任何地方,并在它们发生时改变它们。一个非常非常常见的事情是连接到 node_save ,当有人通过 nodereference 连接时,您可以将日期时间保存到新表中。这样做的地方是 Pro Drupal Development。我通常不是买书的人,但对于 Drupal 来说,这实际上是完全需要阅读的。我们办公室里有 4 个,每个都破旧不堪。
    猜你喜欢
    • 1970-01-01
    • 2011-07-11
    • 2011-10-30
    • 1970-01-01
    • 2013-10-06
    • 2017-04-19
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多