【问题标题】:Set default language for fresh Drupal 8 install为全新 Drupal 8 安装设置默认语言
【发布时间】:2019-01-02 11:02:40
【问题描述】:

在 Drupal 8 中,有没有办法为新安装自动设置安装语言?我将基于 URL,我已经有逻辑确定应该选择哪种语言,但不确定如何在全新安装 Drupal 时将其设为默认选择。

【问题讨论】:

    标签: drupal drupal-8


    【解决方案1】:

    首先,您可以通过一些 URL 查询来填充安装状态参数。添加?langcode=en 将默认为英文。

    否则,您将不得不使用自定义配置文件来确保做出正确的默认选择。相关代码在core/includes/install.core.incinstall_drupal 函数执行 Drupal 的安装。 langcode 在install_begin_request 中通过install_state_defaults 填充的安装状态确定。

    您需要填充语言代码

    if (!empty($install_state['parameters']['langcode'])) {
      $install_state['parameters']['langcode'] = preg_replace('/[^a-zA-Z_0-9\-]/', '', $install_state['parameters']['langcode']);
    }
    

    查看代码,这只能通过查询参数实现

    // Add any installation parameters passed in via the URL.
    if ($install_state['interactive']) {
      $install_state['parameters'] += $request->query->all();
    }
    

    除非您有一个自定义安装配置文件,该配置文件调用 hook_install_tasks 在安装过程开始时添加一个任务以设置默认语言代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多