我的节点按2个分类词汇表分类。两个词汇表都有分类页面,列出所有标记的节点。每个节点都有一个来自每个词汇表的标签。
我使用视图覆盖来控制分类页面。对于我的主词汇表的分类页面,我使用CCK整数字段来控制顺序。这很简单,工作正常。
对于我的辅助词汇表的分类页面,我希望顺序是主词汇表的术语权重,然后是CCK整数字段顺序。
我想我可以用2个排序顺序做到这一点,第一个是第1个词汇表中的术语权重,第2个是CCK字段顺序。然而,我所拥有的问题是,如果我将术语或术语权重作为排序标准添加到我的视图中,我无法指定主要词汇表,因此它使用页面所在的分类术语。这意味着在主要分类页面上它可以正常工作,但它不适用于第二个分类页面。
我不知道它是否会有所帮助,但下面是一个示例顺序:
1st Vocab
-TERM1
--NodeA
--NodeB
-TERM2
--NodeC
--NodeD
2nd Vocab
-TERM3
--NodeA
--NodeC
-TERM4
--NodeB
--NodeD
我该如何解决这个问题? 感谢
答案 0 :(得分:1)
如果你正在处理一个术语视图并没有简单的方法,我建议你在这样的自定义模块中使用hook_views_query_alter:
function YOURMODULE_views_query_alter(&$view, &$query) {
if ('YOUR VIEW NAME' == $view->name) {
$query->add_orderby(<TABLE ALIAS>, <TABLE FIELD>, 'ASC');
}
}
如果你能负担过滤空术语,我的建议是使用content taxonomy module并改为创建节点视图。