我有两个观点,我想合并为一个。
第一个视图显示公司ID = Y的X的所有项目。这是先为客户提供优先排序,然后是其他所有人。
所以我创建了第二个视图,X的所有项目,公司ID!= Y。
我将它创建为附件以附加到第一个视图,但我认为我没有得到预期的结果。
如何组合这些视图以便首先列出第一个视图结果,然后使用相同的寻呼机,过滤器和参数来列出第二个视图?
有没有办法在没有编程的情况下实现这个目标?
答案 0 :(得分:2)
从MySQL的角度来看,逐字段语法是处理此问题的合适方法。例如:
SELECT * FROM tickets ORDER BY FIELD(priority, 'High', 'Normal', 'Low');
如果有一个模块可以为Views添加这种功能,那将会很棒,但是AFAIK,它不存在。
如果你想在没有编程的情况下解决这个问题,我认为你可以使用规则模块在公司ID = Y的节点上自动设置'sticky'复选框。有了这个,你可以在粘滞值上订购View
答案 1 :(得分:1)
按照“粘性”的想法,如果你不想覆盖它,也许你可以在公司类型中添加一个复选框字段 - isClient。对除了客户端以外的所有人都做错,并按此排序。
我还没有这样做,但是你可能需要创建两个版本作为附件,并将它们都附加到另一个显示器上......?
答案 2 :(得分:0)
答案 3 :(得分:0)
将第二个视图创建为附件并将其附加到第一个视图
将所有Inherit arguments
,Inherit exposed filters
和Inherit pager
设置为Yes
。
答案 4 :(得分:0)
客户端参数如何传递给视图?作为网址参数?如果是这样,您可以创建第二个视图,例如我勾画here,然后在相应的位置选择排除参数选项。
答案 5 :(得分:0)
通常最简单的方法是使用一个小的hook_query_alter,但这需要少量的编程。
答案 6 :(得分:0)
稍后......但我找到了一个更好的解决方案仅使用视图模块:
all items of X where company ID = Y
”)all items of X, where company ID != Y
)创建另一个必须为“网页视图”的视图HEADER
”设置中,点击“Add
”并选择“Global: View area
”。 View to insert
”列表中,选择您创建的第一个(如果您正在使用,请选中“Inherid contextual filters
”)就是这样!