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

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

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

Теги

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

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

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

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

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

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

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

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

Настройка ЧПУ в Drupal 10: path_alias, Pathauto и Token

Июль 2, 2025 г.

Drupal — мощная, гибкая и в то же время довольно сложная CMS. Один из важных аспектов SEO и удобства пользователей — это ЧПУ (человекопонятные URL). В ...

Читать

Делаем выгрузку xml для яндекс маркет

Сентябрь 23, 2023 г.

Ключевая особенность в том, что данные выгружаются из Drupal Commerce. Первое, что понадобится - это настроить какой то route, а потом мы напишем для него контроллер. Маршрут можно добавить в какой то кастомный модуль, выглядеть он может следующим ...

Читать

Чем заменить file_create_url в Drupal 9/10

Январь 9, 2024 г.

Функция file_create_url устаревает, начиная с версии 9.3, а в 10й версии она уже отсутствует. Документация предлагает воспользоваться реализацией интерфейса \Drupal\Core\File\FileUrlGeneratorInterface, чтобы заместить устаревающую функцию в вашем ...

Читать

Использование entityqueue для сортировки элементов во view, основанной на Search API datasource

Апрель 3, 2024 г.

Ранее подход, который я опишу, использовался для nodequeue, сейчас с заменой плагина фунционалом entityqueue, тоже самое можно применить и для него. Проблема: Создано представление (view), где источник данных - элементы datasource Search API. ...

Читать
 

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

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



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