我有一个名为 Kids 的基本页面,其别名路径为:example.com/kids
我还有一个名为 Resources 的内容类型,它有标签。
我想创建一个块,它可以获取带有“kids”标签的所有 Resources 或基本页面的别名。我不想为每个基本页面创建一个带有硬编码过滤器的块。
我创建了一个视图,并将上下文过滤器设置为URL的第一个参数,期望它是基本页面的别名。不幸的是,这不起作用,因为上下文过滤器似乎在别名之后开始。
example.com/kids
不会返回任何结果。
example.com/kids/kids
表现我的意思,并返回所有标记为孩子的资源。但是,如果我创建嵌套在Kids下的第二个基本页面,它将停止工作,因为kids/kids
现在是一个有效的别名路径,因此上下文过滤器会忽略它。
TL;博士;
是否有任何模块或方法使用基本页面的别名作为上下文过滤器?
谢谢!
答案 0 :(得分:1)
在上下文过滤器设置中,您可以选择在未传递一个时设置默认值(这是您的别名发生的情况)。然后,您可以编写一些返回页面别名的最后部分的PHP。
类似于:
return array_pop(explode('/',drupal_get_path_alias()));
现在,当您转到“example.com/kids”时,上下文过滤器将使用“kids”参数。
对于别名路径“example.com/kids/kids”也是如此。
答案 1 :(得分:0)
即使我曾经遇到同样的问题。 这就是我所做的。
创建了一个名为X的回调/菜单,并将其传递到X / A这样的菜单,其中A是您孩子的参数“kids”。 现在使用URL别名,将此URL重写为X / A到A
这种方式对我来说完美无缺,仍然有效。