Как автоматически для каждой ноды нажать редактировать, затем сохранить?

Главные вкладки

Аватар пользователя astrameridian astrameridian 16 октября 2012 в 19:31

После импорта из базы данных поле Body имеет не просто текст, а текст с html тегами, которые отображаются при просмотре.
Было замечено, что если нажать редактировать, а затем сохранить, то после этого, html разметка не отображается и всё выглядит как надо.

Но товаров (нод) около тысячи, как бы это автоматизировать?

P.S. К полю body прикручен формат Full html и CKeditor для редактирования.

Комментарии

Аватар пользователя rimen rimen 16 октября 2012 в 23:21

вся проблема в том, что для ваших нод не установлен формат ввода, потому применяется первый по-умолчанию (судя по всему plain text).

Правильно:
node_load, node_save в batch с установкой $node->filter значения (machine_name) соответствующего необходимому фильтру (Full HTML)

Просто:
сменить порядок фильтров в настройках фильтров, поставив Full HTMl на 1-м месте (вверху)

Аватар пользователя rimen rimen 16 октября 2012 в 23:22

"astrameridian" wrote:
После импорта из базы данных поле Body имеет не просто текст, а текст с html тегами, которые отображаются при просмотре.

делать прямой импорт в БД - не Drupal Way

Аватар пользователя astrameridian astrameridian 17 октября 2012 в 22:23

Дело в том, что Full HTMl итак стоит на 1-м месте....(Конфигурация - работа с содержимым - форматы текста)

Если смотреть настройки типа материала -> Структура - Тип материала - Product display - Управление полями - body - Редактировать, то установлено:
1. Обработка текста стоит: С применением фильтров (формат ввода выбирается пользователем), вместо Простой текст
2. Формат текста: Full html выбран.
3. Wrapper markup: no markup - No wrapping HTML

То есть всё вроде выбрано верно, но не работает.

Аватар пользователя astrameridian astrameridian 17 октября 2012 в 22:32

Подскажите а как пошагово сделать прямой импорт в базу данных, например с помощью поиска я выяснил, что поле body, находится в таблице: field_data_body, поле: body_value
Что конкретно нужно сделать, чтобы в эту таблицу, в данное поле импортировать содержимое поля body? (просто никогда этого не делал)...

Кстати в этом поле сейчас в базе отображено точно то, что показывается на сайте и именно то, что содержится в базе при импорте.
Получается что делая импорт напрямую в базу, содержимое изменится? или оно останется тем же, просто отображаться на сайте будет корректно?

Аватар пользователя rimen rimen 18 октября 2012 в 1:53

"astrameridian" wrote:
Подскажите а как пошагово сделать прямой импорт в базу данных

"rimen" wrote:
делать прямой импорт в БД - не Drupal Way

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