2

当前 url 显示像这样 news/?tid=telecom

我需要使用干净的 URL 为新闻/电信起别名,它在所有页面中都有效,但鉴于暴露的过滤器不起作用

4

2 回答 2

1

您是否尝试过查看上下文过滤器来解决您的问题?

于 2013-10-30T12:51:38.687 回答
1

您也可以使用上下文过滤器来解决它。您可以通过调整“指定验证条件”设置将分类术语名称与此过滤器一起使用。请看这个答案Drupal 7 视图上下文过滤器分类名称

目前,我认为解决此问题的唯一通用方法是在 httpd 层操作 URL,或使用hook_url_inbound_alterhook_url_outbound_alter您可以在这个问题上阅读更多关于提到的钩子的信息。

但是,如果我要自己再拍摄一次,我会尝试使用 Views 特定的解决方案,因为这个问题很常见,有理由为此设置一个模块。

hook_views_pre_build中,可以从“members/valuea/valueb”之类的 url 获取数据,将这些值推送到 $_GET['q'],让视图构建它的查询,查看“在 url”中的 get 参数,然后可能删除它们再次在hook_views_post_build

我希望这能帮到您。

于 2014-08-19T12:21:43.230 回答