📜  添加语言以设置字段 drupal 8 (1)

📅  最后修改于: 2023-12-03 14:56:08.068000             🧑  作者: Mango

添加语言以设置字段 Drupal 8

在Drupal 8中,设置字段时,您可能需要将不同的语言添加到字段选项中,这就需要您采取一些步骤。以下是如何通过代码片段在Drupal 8中添加语言以设置字段。

步骤 1:启用多语言模块

首先,要设置多语言支持,需要启用Drupal 8的多语言模块。您可以通过以下步骤进行操作:

  1. 转到Admin> Modules
  2. 搜索Multilingual
  3. 启用所有与多语言有关的模块。
步骤 2:添加语言
  1. 转到Admin> Configuration> Regional and language
  2. 点击Add language 增加所需的语言。
步骤 3:在字段中添加语言

现在您已经启用了多语言模块并添加了所需的语言,可以在设置字段时将它们添加到选项中。使用以下代码片段可以实现这一目标。

 $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中添加语言以设置字段的步骤。要添加语言,请确保已启用多语言模块,并使用以上代码实现。