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

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

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

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

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

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

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

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

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

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

Настраиваем патчи в composer на примере drupal проекта

Май 14, 2025 г.

Drupal давно использует composer для управления зависимостями и для загрузки/обновления модулей. Composer кроме всех прочих полезностей позволяет наладить ...

Читать

Как получить код языка по умолчанию в Drupal

Июль 4, 2025 г.

В Drupal (начиная с версии 8 и выше, включая 10 и 11), чтобы получить код языка по умолчанию сайта (например, en, ru, fr), используйте следующий способ: [crayon-69af705acc2b6251367315/] Подробности запроса: \Drupal::languageManager() — обращение ...

Читать

Как полностью удалить поле в Drupal, если оно «зависло» в хранилище полей

Сентябрь 5, 2025 г.

Иногда в Drupal возникает ситуация: вы удаляете поле с типов сущностей (bundle), но оно не исчезает полностью из системы. UI говорит, что поле «используется», хотя на самом деле ни одна сущность его не использует. В этом случае поле остаётся в конфигурации ...

Читать

Рендер ссылки в twig

Октябрь 3, 2021 г.

В шаблонах twig вы можете использовать функцию link, для рендера ссылки. Параметры вызова следующие - link($text, $uri, $attributes = {}), первые два - обязательные. [crayon-69af705acc679209070447/] Результатом будет следующий HTML код: ...

Читать
 

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

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



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