在View Unformatted List中,有没有办法将相同内容类型的节点组合在一起?
示例:
内容类型“与会者”中的每个节点都指定即将举办的活动的与会者。其中一些与会者是另一位与会者的“朋友”,为了将他们链接在一起,我使用了一个实体参考字段,如下所示:
现在在视图中,如何让这些链接的朋友在他们参加的与会者之后立即出现? (因此首先显示引用“父”实体,并在?)之后显示任何引用的“子”实体。
格式化示例:
假设我们有Bob,Bill,&汤姆...比尔是唯一一个有朋友参加的人;这两个朋友的名字是Hansel&格莱特。
Hansel&然后,Gretel将在其实体参考字段中选择Bill,输出应显示:
“视图字段视图”模块对我的情况不起作用,因为我实际上使用的是当前不兼容的“视图PDF”模块。视图PDF仍然允许我使用关系,我希望这仍然是可能的 - 即使我必须编写自定义主题信息或其他东西。
答案 0 :(得分:0)
您可以通过views_query_alter挂钩覆盖视图的排序。
创建自定义模块,并将此代码添加到your_module.module文件中:
<?php
/**
* Implements hook_views_query_alter()
*/
function YOUR_MODULE_views_query_alter(&$view, &$query) {
if ($view->name == 'YOUR_VIEW_NAME') {
$query->orderby = array(
array(
'field' => 'COALESCE(ATTENDING_WITH_TITLE_FIELD, FRIEND_TITLE_FIELD)',
'direction' => 'DESC',
),
array(
'field' => '(ATTENDING_WITH_TITLE_FIELD = FRIEND_TITLE_FIELD)',
'direction' => 'ASC',
)
);
}
}
第一个订单将按照他们正在参与的朋友的名称排序,或者如果不可用则为他们自己的名称(null)。
第二部分将确保与他们有朋友的朋友首先出现。