【问题标题】:Drupal: "All languages" as default alias language in multilingual siteDrupal:“所有语言”作为多语言站点中的默认别名语言
【发布时间】:2012-06-11 14:33:10
【问题描述】:

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

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

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

有没有办法为每个创建的新别名设置“所有语言”?
有什么方法可以为所有人设置“所有语言”别名已创建?

【问题讨论】:

    标签: drupal drupal-7 multilingual


    【解决方案1】:

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

    function youtheme_node_presave($node) {
             if ($node->type == 'nodetype') {
             $node->language = LANGUAGE_NONE;
            }
    }
    

    这基本上会将您的节点保存为中性语言;) 如果需要,更改节点类型或添加更多。

    【讨论】:

    • 好的,谢谢。我认为自定义模块应该比破解主题模板更好。
    • 这与主题无关。主题应该只改变显示行为。
    • 此外,如果站点真的使用节点语言,例如,对于应该只显示节点的视图,自动将所有节点更改为中性语言(即丢弃语言信息)不是解决方案一种语言。修复别名问题,我们不应该再创建一个。
    • 如果您的所有别名都是唯一的(例如,包含节点 ID 或语言代码),则使所有别名中立将不是问题。意见也会很好。您仍然可以按当前用户语言过滤视图。
    • 主题无法实现挂钩。
    【解决方案2】:

    以上内容对我有用(来自:http://bengoodyear.com/blog/drupal-7-cracking-the-multilingual-front-page-nut),但确实如此。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多