我必须建立一个多语种网站,你必须选择你的大陆。
所以你可以选择美国,而你是英语,美国也选择西班牙语。欧洲用法语,也用英语等。
我在drupal 7上设置了带路径前缀的语言检测。所以我的网址就像 domain.com/en/path-alias 。
我网站上的某些内容将隐藏在某个大陆,但很多内容都是相同的,所以我不想做多站点。
我希望网址为 domain.com/america/en/path-alias , domain.com/america/es/path-alias 或 domain.com/europe/fr/path-alias 即可。 我没有找到任何解决办法。
模块域访问看起来很酷,但不完全是我想要的,因为它适用于子域,而我想要路径前缀。
编辑: 好的,我已经在drupal API中找到了我的问题的解决方案。
这两个钩子正是我所寻找的hook_url_inbound_alter,hook_url_outbound_alter
答案 0 :(得分:0)
你应该使用这2个钩子,因为在hook_url_inbound_alter(&$path, $original_path, $path_language)
你告诉Drupal它应该显示什么路径,并根据$original_path
中的接收路径确定(例如: region / lang / path < / em>)Drupal理解为有效路径的路径(例如: lang / path )并用它覆盖$path
。
接下来,我们需要来自我们网页的链接以包含我们的自定义路径格式,因此我们将使用hook_url_outbound_alter(&$path, &$options, $original_path)
转换以自定义路径格式url()
生成的所有系统路径或别名(生成的路径为url('lang/path'))
将是 region / lang / path 。在$options
数组中,我们可以修改路径前缀或路径语言。
答案 1 :(得分:0)
这对我有用,但路径别名现在不起作用。此http://localhost/en/australia/node/376应为http://localhost/en/australia/hotels-resorts
var reqIndex;
$scope.choices.forEach(function(choice, index) {
if (choice.id === 10) {
reqIndex= index;
return
}
})