Термины таксономии в Drupal 8 позволяют классифицировать и организовывать контент. Хотя вы можете создавать термины таксономии вручную через административный интерфейс, иногда вам может потребоваться создать их программным способом. В этой статье мы рассмотрим несколько методов программного создания терминов таксономии в Drupal 8, а также приведем примеры кода.
Метод 1: использование функцииentity_create()
use Drupal\taxonomy\Entity\Term;
$term = Term::create([
'name' => 'Term Name',
'vid' => 'vocabulary_machine_name',
]);
$term->save();
Метод 2: использование функцииentity_create() с дополнительными свойствами
use Drupal\taxonomy\Entity\Term;
$term = Term::create([
'name' => 'Term Name',
'vid' => 'vocabulary_machine_name',
'field_description' => 'Term Description',
]);
$term->save();
Метод 3. Использование сервиса Taxonomy_term.create
use Drupal\Core\Entity\EntityTypeManagerInterface;
$termStorage = \Drupal::service('entity_type.manager')->getStorage('taxonomy_term');
$term = $termStorage->create([
'name' => 'Term Name',
'vid' => 'vocabulary_machine_name',
]);
$term->save();
Метод 4. Использование функцииentity_create() с пользовательским классом
use Drupal\taxonomy\Entity\Term;
class TermCreator {
public function createTerm($name, $vid) {
$term = Term::create([
'name' => $name,
'vid' => $vid,
]);
$term->save();
return $term;
}
}
$termCreator = new TermCreator();
$term = $termCreator->createTerm('Term Name', 'vocabulary_machine_name');
Метод 5. Использование сервиса Taxonomy_term.create с собственным классом
use Drupal\Core\Entity\EntityTypeManagerInterface;
class TermCreator {
protected $termStorage;
public function __construct(EntityTypeManagerInterface $entityTypeManager) {
$this->termStorage = $entityTypeManager->getStorage('taxonomy_term');
}
public function createTerm($name, $vid) {
$term = $this->termStorage->create([
'name' => $name,
'vid' => $vid,
]);
$term->save();
return $term;
}
}
$termCreator = new TermCreator(\Drupal::entityTypeManager());
$term = $termCreator->createTerm('Term Name', 'vocabulary_machine_name');
В этой статье мы рассмотрели несколько методов программного создания терминов таксономии в Drupal 8. Предпочитаете ли вы использовать функциюentity_create() или службу Taxonomy_term.create, у вас есть несколько вариантов на выбор в зависимости от ваших конкретных требований. Используя эти методы, вы можете автоматизировать создание терминов таксономии и оптимизировать рабочий процесс разработки Drupal.