📅  最后修改于: 2023-12-03 14:56:08.068000             🧑  作者: Mango
在Drupal 8中,设置字段时,您可能需要将不同的语言添加到字段选项中,这就需要您采取一些步骤。以下是如何通过代码片段在Drupal 8中添加语言以设置字段。
首先,要设置多语言支持,需要启用Drupal 8的多语言模块。您可以通过以下步骤进行操作:
Admin
> Modules
。Multilingual
。 Admin
> Configuration
> Regional and language
Add language
增加所需的语言。 现在您已经启用了多语言模块并添加了所需的语言,可以在设置字段时将它们添加到选项中。使用以下代码片段可以实现这一目标。
$field = FieldConfig::loadByName($entity_type, $bundle, $field_name);
// 添加多语言支持
$field->setTranslatable(TRUE);
// 添加所有语言作为可用选项
foreach (Language::loadMultiple() as $langcode => $language) {
if ($language->isLocked()) {
continue;
}
$options[$language->getId()] = $language->getName();
}
// 将语言选项添加到字段中
$field_storage_config = FieldStorageConfig::loadByName($entity_type, $field_name);
$field_storage_config->setSetting('allowed_values', $options);
// 保存设置
$field_storage_config->save();
$field->save();
以上代码用于将所有可用语言添加到字段的选项中。它首先将字段标记为“可翻译的”,然后获取所有可用语言并将它们用作选项。
要添加特定语言,您可以在循环中指定该语言。例如,要添加英语,可以将以下代码添加到循环中。
// 为特定的语言添加字段选项
$english = Language::load('en');
$options[$english->getId()] = $english->getName();
这些就是在Drupal 8中添加语言以设置字段的步骤。要添加语言,请确保已启用多语言模块,并使用以上代码实现。