为新的Drupal 8安装设置默认语言

时间:2019-01-02 11:02:41

标签: drupal drupal-8

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

1 个答案:

答案 0 :(得分:0)

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

否则,您将必须使用自定义配置文件以确保做出正确的默认选择。相关代码在core/includes/install.core.inc中。 install_drupal函数执行Drupal的安装。通过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来添加任务以设置默认语言代码。