在Drupal 7多语言网站中,当创建的节点的语言设置为除“Language neutral”之外的其他内容时,当网站语言与节点语言不同时,其别名不起作用(错误404)。
您可以通过别名编辑页面( admin / config / search / path )将别名语言更改为“所有语言”,从而避免此问题。
这非常烦人,因为您必须为每个具有语言支持的新节点执行此操作。此外,当批量更新更改某些别名时,此设置将丢失。
有没有办法为每个创建的新别名设置“所有语言”?
有没有办法为所有已创建的别名设置“所有语言”?
答案 0 :(得分:3)
您应该将此代码添加到template.php
function youtheme_node_presave($node) {
if ($node->type == 'nodetype') {
$node->language = LANGUAGE_NONE;
}
}
这基本上会将您的节点保存为中性语言;) 如果需要,可以更改nodetype或添加更多。
答案 1 :(得分:0)
以上确实对我有用(来自:http://bengoodyear.com/blog/drupal-7-cracking-the-multilingual-front-page-nut),但确实如此。
确保已打开“变量和可变转换”模块。 转到admin / config / regional / i18n / variable 从列表中选择“默认首页”,保存设置。 转到admin / config / system / site-information,你会注意到那里有一段文字说你的一些设置是多语言变量和你正在运行的语言的链接列表,它们允许你为每个设置设置语言。