Программное создание статьи с переводом в Drupal

Допустим, вы получаете следующие данные — заголовок, текст статьи, и теги. При этом данные поставляются на двух языках — ‘ru’ и ‘en’. Вам требуется программно сохранить статью и её перевод.

Я полагаю, что уже активирован модуль Content Translation, и правильно настроен тип публикации, который вы собираетесь создавать.

Теги

Сначала надо разобраться со всеми дочерними сущностями, которые потребуется сохранить. В нашем случае это набор тегов.

Для определенности пусть это будут два массива, где в одном хранятся теги на русском языке, а в другом — соответствующие первому массиву английские значения.

Нам нужно собрать айди этих тегов в одном списке.

Пусть есть функция, которой мы передадим русское и английское значения, а она вернет нам объект термина таксономии (существующего термина или только что созданного).

Интересно взглянуть на саму функцию. Я её оформил в виде трейта, чтобы удобнее было подключать в разные классы.

Так мы создадим теги в таксономии с переводами и получим их список для создания сущности статьи.

Важно, чтобы в настройках кастомных полей, вроде field_body, было указано, что пользователь может переводить это поле. Это разрешит drupal хранить значения для каждого из включенных в настройках языков.

Мало букафф? Читайте есчо !

Drupal deployment

Май 18, 2023 г.

Шпаргалка по настройке и проведению деплоймента для Drupal (начиная с 8й версии). Деплоймент выполняется с использованием git, drush, composer и configuration management. На сервере должны выполняться команды в следующей последовательности: ...

Читать

Форма поиска товаров на Drupal

Май 11, 2023 г.

Здесь подробно рассмотрим небольшую задачу для сайта под управлением CMS Drupal. Требуется выводить поисковую форму для товаров в виде блока. Форма ...

Читать

Подключить скрипт / библиотеку в шаблоне twig

Ноябрь 5, 2023 г.

Подключение скрипта или стилей "по-месту", на мой взгляд, не плохая практика, т.к. соответствующие файлы не будут подключаться, если в них нет необходимости. От вас потребуется объявить нужный скрипт и/или стили как библиотеку. Это можно сделать ...

Читать

Attempting to re-run cron while it is already running.

Июнь 3, 2025 г.

Попытка запустить cron параллельно с запущенным кроном не увенчается успехом, так как Drupal использует блокировку. Но иногда, из-за ошибок во время исполнения, блокировка не снимается. Что делать, если блокировка не была снята штатно? На самом ...

Читать
 

Комментарии к «Программное создание статьи с переводом в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: