这是一个 Views 6.x-2.x 问题:在具有许多不同视图的站点上(其中许多是包含在面板中的块,它们将参数传递给块)我想根据域按分类术语过滤视图网站访问通过。此过滤应附加到第一个参数(分类术语)。
该站点配置为使用不同的域,例如 example1.com 和 example2.com。我想将这些域“连接”到分类术语 45 和 115。
例如:
example1.com/my_view/1 应该显示所有具有 term 1 和 term 45 的节点。
example2.com/my_view/1 应该显示所有具有术语 1 和术语 115 的节点。
我的方法是添加第二个参数(第一个是默认的分类术语 ID 参数)。作为默认参数,我在参数处理代码中使用以下片段:
<?php
// Get domain.
$host = preg_match('/[^.]+\.[^.]+$/', $_SERVER['HTTP_HOST'], $hit);
$host = $hit[0];
// Select taxonomy term.
if ($host == 'example1.com'){
$taxonomy = '45';
} elseif ($host == 'example2.com'){
$taxonomy = '115';
}
return $taxonomy;
?>
这在我使用带有路径 my_view/% 的页面显示时有效(仅使第一个参数成为强制性)。但是当我在面板中使用它时,我只会得到一个空视图(如果选择了“无上下文”)或第二个参数没有任何效果(如果选择了“第一个/所有术语的术语 ID”)。
有什么想法可能是错的吗?我真的尝试了很多。