Программное создание публикации в Drupal 7

Еще одна шпаргалка по Drupal 7. Мы создадим публикацию из PHP, добавим пользовательские поля и даже загрузим файл (изображение) в поле соответствующего типа.

Сначала мы создадим структуру публикации (объект node).  Нам понадобится указать данные, без которых не может обойтись ни одна публикация в drupal.

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

Тип публикации ‘article’ — один из дефолтных типов публикации в друпал. Публикация хранит текст статьи в поле body.

Другие кастомные поля, если вы добавляли их в article, можно инициализировать аналогично body. Пример для инициализации кастомного поля field_order:

Еще artice содержит поле field_image.

Как загрузить изображение при создании ноды из кода?

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

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

Создаём программно url alias в Drupal 9

Август 28, 2021 г.

Сниппет кода, демонстрирующий как alias создаётся в Drupal 9. Ранее (в 8й версии) это был сервис ядра path.alias_storage, и код выглядел так: [crayon-6a02c0ff36ef6181015905/] В 9й версии хранилище перенесли в entityTypeManager и потому выглядит ...

Читать

Подстановка токенов в коде Drupal 9

Август 1, 2021 г.

Ядро и модули объявляют множество токенов подстановки. Рассмотрим как получить доступ к глобальному объекту типа \Drupal\Core\Utility\Token и выполнить подстановку в строке. Ядро предоставляет экземпляр объекта через следующий запрос: [crayon-6a02c0ff37135588085075/] ...

Читать

Добавление произвольных требований при установке модуля в Drupal

Май 7, 2025 г.

Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...

Читать

Загрузить данные параграфов для связанного с ними entity

Июль 8, 2023 г.

Пример кода для загрузки параграфов. В данном примере будем загружать параграфы, связанные с entity commerce_product_variation (это сущность модуля Commerce). Я привязал информацию по остаткам складов к вариациям в виде параграфов (тип - stocks). ...

Читать
 

Комментарии к «Программное создание публикации в Drupal 7»

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



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