视图3,针对语言的上下文过滤器-允许多种语言


8

因此,对于我正在构建的该站点,我需要能够执行以下操作。

  1. 当用户以英文查看网站时,显示所有英文文章
  2. 当用户以荷兰语查看网站时,显示所有荷兰语文章-以及未翻译的英文文章
  3. 当用户以德语查看该网站时,请显示所有德语文章-以及未翻译的英语文章。

上下文过滤器“内容翻译:语言”仅允许输入一个值。那是指定的语言,还是全部。

但是在我的情况下,要求能够设置例如“ en + nl”或“ en + de”。就像可以使用分类法“具有分类法”一样,我想要类似“具有语言”的方法。

Answers:


3

我像这样解决了这个任务:

  • 对于“当过滤器值不可用时”,选择选项“提供默认值”。
  • 然后使用“ PHP代码”作为“类型”的值
  • 我添加的实际PHP代码如下图所示:

在此处输入图片说明


在视图上添加PHP?这很丑.....它可以解决问题,但我认为这不是一个好主意。
itsdarrylnorris

这可能有点骇人听闻,但这恰恰为我提供了一个稍有不同的要求所需要的内容-一个视图页面,其语言前缀为:site.com/en和site.com/ja ...当用户使用EN时,将显示所有内容EN含量;切换到JA界面时,仅显示具有JA翻译的内容。谢谢!
jaesperanza

2

一种解决方案是使用字段翻译:

  1. 在实体翻译配置页面中将“启用语言回退”设置为活动。
  2. 将视图设置为使用当前用户语言(高级>其他>字段语言)。

做完了


在该页面上看不到“启用语言后备”选项。我认为需要在安装实体转换模块之前……
耳机

您还将如何访问模块配置页面?我应该更清楚地指出这一点,因此感谢您添加该信息。
cjoy 2012年

1

我想您需要此模块:https : //www.drupal.org/project/select_translation

它为视图列表内使用内容翻译(而非实体翻译)翻译的节点提供语言回退功能。这是视图“字段语言”选项的替代方法,该选项不适用于使用“内容翻译”翻译的节点。


1

要在不存在节点翻译情况下使用具有默认语言后备视图的视图,然后显示默认语言之一,只需确保UNCHECK:

X需要时,将字段语言条件添加到查询中

在此处输入图片说明

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.