SEO 友好的暴露过滤器视图 Drupal 7

Posted

技术标签:

【中文标题】SEO 友好的暴露过滤器视图 Drupal 7【英文标题】:SEO Friendly exposed filter view Drupal 7 【发布时间】:2013-10-18 06:41:13 【问题描述】:

目前的url显示是这样的 新闻/?tid=电信

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

目前,我认为解决此问题的唯一通用方法是在 httpd 层操作 URL,或使用 hook_url_inbound_alter 和 hook_url_outbound_alter。你可以阅读更多关于提到的钩子at this question。

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

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

希望对你有帮助。

【讨论】:

以上是关于SEO 友好的暴露过滤器视图 Drupal 7的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7 视图暴露的过滤器不起作用

Drupal 7 视图中的块中暴露的过滤器

带有自定义模板暴露过滤器的 Drupal 7 视图不显示

Drupal 7:发布日期的暴露过滤器

Drupal 7 中暴露过滤器的删除或过滤选项

无法以编程方式在视图 Drupal 7 中为日期设置公开过滤器