gpt4 book ai didi

Drupal 查看多个排序标准

转载 作者:行者123 更新时间:2023-12-05 08:01:44 24 4
gpt4 key购买 nike

我在 drupal 中有多种内容类型,它们都使用不同的日期字段。一个是使用 blog_date,第二个是 post_date。当我将它们合并到一个 View 中并尝试按多个排序标准进行排序时,它们总是按第一个排序。 IE。如果我首先按 blog_date 排序,所有博客类型的帖子都会出现,只有在该帖子类型的帖子之后才会遵循它们的排序标准。

是否可以将这两个数据字段合并为一个,然后对节点进行全局排序?

最佳答案

我找到了许多可能的解决方案并在此处进行了总结:https://drupal.org/node/2133879

但是,这是我推荐的一个简单解决方案:

在自定义模块中,使用 hook_views_query_alter() 函数更改排序标准以使用 CASE ... WHEN 在 orderby 条件中添加条件。这里显示了一个很好的例子:

<?php
/**
* Implementation of hook_views_query_alter().
*/
function MYMODULE_views_query_alter(&$view, &$query) {
if ($view->name == 'view_name') {
// Completely replace current orderby
$query->orderby = array(" CASE
WHEN node_data_field_dates_field_dates_value THEN node_data_field_dates_field_dates_value
WHEN node_data_field_event_dates_field_event_dates_value THEN node_data_field_event_dates_field_event_dates_value
END ASC ");
}
}
?>

示例来源:https://drupal.org/comment/6323288#comment-6323288

关于Drupal 查看多个排序标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12578343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com