我在一个多语言网站上有一个“ 查看”页面,在这里我需要每种语言的不同网址,即:
- es:mysite / apartamentos。
- zh:mysite /公寓。
- fr:mysite /公寓。
- ru:mysite / arendu。
我为每种语言创建了一个URL别名(尽管我的网站的默认语言是西班牙语,这是mysite / appartments),所以西班牙语别名appartments
是apartamentos
等等。我使用创建了这些别名configuration >> Search and Metadata >> URL aliases >> add alias
。
我必须将查询参数传递给视图以过滤结果,因此我的url类似于mysite / en / appartments / p / location_field / 2,并且我有一个表格可以手动执行以下操作:
echo "/".$language."/".$translated_page
在翻译后的页面可能是apartamentos,appartments,appartements或arendu的情况下,制作操作网址:
/ es / apartamentos,/ fr / appartements,/ en / appartments和/ ru / arendu
我的问题是,当发送此表单时,Drupal会将我发送至
mysite / es / appartments / p / location_field / 2
代替
mysite / es / apartamentos / p / location_field / 2
所有语言都一样。剩下的事情似乎还不错,甚至面包屑(使用url生成)也看起来正确(Inicio >> Apartamentos Costa Dorada,西班牙语)。
当我使用语言开关时,它会将我重定向到正确的翻译页面,但没有查询参数(由此mysite/es/appartments/p/location_field/2
将我发送到mysite/es/apartamentos
)。
我不知道是什么原因导致了这个问题,也许查询参数干扰了别名解释?
注意:我启用了许多翻译模块。对于i18n模块,有:块,字段,菜单,节点,路径,字符串,分类法,翻译(翻译集),变量和视图。