在Drupal 8中,有没有一种方法可以自动设置新安装的安装语言?我将其基于URL,我已经具有确定应该选择哪种语言的逻辑,但是不确定在全新安装Drupal时如何将其设置为默认选择。
答案 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
来添加任务以设置默认语言代码。