Добрый день!
Есть словарь термина таксономии, в нем родительский термин, например MOV. Необходимо для этого термина сгенерировать 50 дочерних терминов, от MOV200 до MOV250. Должно получиться MOV200, MOV201...MOV250. Подскажите пожалуйста как это сделать быстро? Т.е. тут все по шаблону. Вручную вводить не вариант, т.к. сейчас их 50, а может будет 5000. Видел, есть модуль, но старый (для 7-й версии Друпал, а у меня 11).
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Будь это ноды, а не термины, то что-то можно было бы намутить с помощью, например, Serial Field, используя его в качестве источника для формирования каких-то токенов, которые в дальнейшем можно было использовать в свою очередь в модулях типа Automatic Entity Label.
Но всё это как-то ещё может заработает для content-type сущностей, но насчёт терминов - скорее всего вряд ли. Да и связка из двух модулей длинная и не очень-то удобная для решения одной простой задач.
Можете программно создать термины. Код ниже, можно вставить в хук page к примеру. Код от Druapl 8, но думаю и на более свежих версиях отработает.
<?php
for ($i = 200; $i <= 250; $i++) {
$term = \Drupal\taxonomy\Entity\Term::create([
// Системное название словаря
'vid' => 'regions_cities',
// TID родительского термина ( MOV )
'parent' => 7,
// Название термина
'name' => 'MOV' .$i
]); $term->enforceIsNew();
$term->save();
// Получаем TID если нужно
$tid = $term->id();
}
?>
Еще есть модуль Devel, в нем подмодуль Generate. Можете через него создать термины, правда я не пользовался, не знаю подходит ли вам его функционал.
Через Feeds можно.
Составить в табличном редакторе файл с ячейками от MOV200 до MOV250
Родительский термин задать либо в табличном файле либо создать поле с именем термина у фида.
А можете подсказить пример CSV-файла для импорта? Пытаюсь сделать через CSV, но при импорте постоянно пишет, что требуется Название, и ничего не импортируется. Видимо, я неправильно составляю CSV-файл.
Спасибо за советы, сейчас пытаюсь установить Feeds. Думаю, это модуль наиболее мне подойдет. Я не пользуюсь composer, устанавливаю копированием каталога с модулем в modules, в админке в списке модулей нахожу Feeds, ставлю галочку и Установить. Далее никаких ошибок, страница просто перезагружается. Другие модули подобным образом устанавливаются без проблем. Не хочется устанавливать никак композеры, драши и прочее. Можно ли установить Feeds устаревшим способом?
Отбой, Feeds установил, сейчас буду пробовать)
Извините по другому нельзя. Даже если заработает - дотянет до первой unexpected error, которая лечится драшем. А Драш ставится через Композер. Композер - это не сложно - всего 3 команды.
А как обновлять?
Да, Композер пришлось установить)
Сейчас пытаюсь импортировать, вроде все создал, но при импорте постоянно пишет, что требуется "Название", и ничего не импортируется. Видимо, я неправильно составляю CSV-файл? Мне нужно просто чтобы в названии термина было MOV200, и т.д. Все остальные поля должны быть пустые. Каким в этом случае должен быть CSV-файл?
Парни, отбой))
Разобрался с импортом...модуль Feeds решил задачу.