Drupal:“;“所有语言”;作为多语言站点中的默认别名语言

Drupal:“;“所有语言”;作为多语言站点中的默认别名语言,drupal,drupal-7,multilingual,Drupal,Drupal 7,Multilingual,在Drupal 7多语言站点中,当创建节点时,将语言设置为除“语言中立”之外的其他语言时,当站点语言与节点语言不同时,其别名不起作用(错误404) 从别名编辑页面(admin/config/search/path)将别名语言更改为“所有语言”可以避免此问题 这是非常烦人的,因为您必须为每个具有语言支持的新节点执行此操作。此外,当批量更新更改某些别名时,此设置将丢失 有没有办法为创建的每个新别名设置“所有语言”? 有没有办法为所有已创建的别名设置“所有语言”?您应该将此代码添加到template.

在Drupal 7多语言站点中,当创建节点时,将语言设置为除“语言中立”之外的其他语言时,当站点语言与节点语言不同时,其别名不起作用(错误404)

从别名编辑页面(admin/config/search/path)将别名语言更改为“所有语言”可以避免此问题

这是非常烦人的,因为您必须为每个具有语言支持的新节点执行此操作。此外,当批量更新更改某些别名时,此设置将丢失

有没有办法为创建的每个新别名设置“所有语言”?

有没有办法为所有已创建的别名设置“所有语言”?

您应该将此代码添加到template.php中

function youtheme_node_presave($node) {
         if ($node->type == 'nodetype') {
         $node->language = LANGUAGE_NONE;
        }
}
这基本上会将节点保存为中性语言;) 如果需要,可以更改节点类型或添加更多。

以上内容对我来说确实有效(from:),但这确实有效

确保已打开模块变量和变量转换。 转到admin/config/regional/i18n/variable 从列表中选择“默认首页”,保存设置。
转到admin/config/system/site information,您会注意到其中有一段文字说明您的一些设置是多语言变量,以及您正在运行的语言的链接列表,这些链接允许您设置每种语言的设置。

好的,谢谢。我认为定制模块应该比破解主题模板更好。这与主题无关。主题应仅更改显示行为。此外,如果站点确实使用节点语言,则自动将所有节点更改为语言无关(即,抛出语言信息)不是解决方案,例如,对于只应以一种语言显示节点的视图。修复别名问题时,我们不应创建另一个别名。如果您的所有别名都是唯一的(例如,包含节点id或语言代码),则将所有Alise设置为中性不会有问题。而且风景也不错。您仍然可以按当前用户语言筛选视图。主题无法实现挂钩。