Answers:
我遇到了一个非常相似的问题,不仅找到了解决方案,还学到了有关视图如何工作的新知识。让我也分享我学到的知识以及您的问题的解决方案。
使用一个或多个上下文过滤器创建视图时,该视图必须从某个位置接收这些过滤器的值。这可以通过-
foo/%/bar
或foo/bar/%
单个上下文过滤器或表单的URL foo/%/bar/%
或foo/bar/%/%
多个过滤器解决您特定问题的方法是,在上图中箭头所指的部分中使用非常相似的代码。
事实证明,该链接对我有很大帮助。以下是摘录:
$np = explode('/', drupal_get_normal_path($argument));
if (!empty($np[1])) {
$handler->argument = $np[1];
return TRUE;
} else {
return FALSE;
}
视图参数必须是内容类型的字段引用,然后选择选项“提供默认参数”并检查选项ID节点(类似)。
1)添加参数“ X字段引用” 2)从URL检查ID节点(添加默认参数)3)在验证部分中,检查节点的内容类型,并在“节点类型”部分选择“节点ID”
并完成。:)
我建议使用扩展路径别名(path_alias_xt)模块。它纯粹是通过不配置安装来解决此问题的,显然,这基本上是魔术。:D并非如此,但是模块页面的摘录说明了您如何安装它,并修复了此问题和其他问题,但是并没有涉及模块在幕后的工作方式。。。嗯,我们可以总是阅读代码:D它没有特别提到修复视图路径,但是我已经使用它来做到这一点,并且效果很好。
从模块页面可以解决的问题列表:
- 您是否曾经想过,为什么在为节点/ 123定义诸如about-us之类的别名之后,您的页面仍然充满那些难看的机器生成的选项卡和链接,如/ node / 123 / edit,node / 123 / revisions等。 。?
- 对于/ taxonomy / term /%和/ user /%链接也是如此:您是否希望看到/ dries / track但获得了/ user / 5 / track?
- 您是否发现浏览器地址栏也显示了这些丑陋的数字而不是您的别名?