Обязательные поля для новой ноды, вставляемой сразу в таблицу MySQL

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

Аватар пользователя ariran ariran 17 августа 2012 в 12:59

добрый день.
возник такой вопрос: необходимо перенести около 300 статей со старого сайта на друпал-7
собственно я создал тестовую статью из админки друпала, чтобы по ее примеру перенести другие статьи прямо в базу данных скриптом. получилось следующее
в таблице field_data_body создается строка с текстом материала http://clip2net.com/s/2dl4J
а в таблице node создается строка с аналогичным номером ноды и заголовком http://clip2net.com/s/2dl5L
собственно я попытался внести тестовую статью прямо в таблицу друпала (на скриншотах она с номером 27). все поля вроде заполнены, в том числе и поле чтобы статья отображалась для всех. но при переходе на эту статью в браузере www.mysite.ru/node27 статьи нет и выдается ошибка, что такой страницы не существует.
собственно вопрос: где я что-то не учел? в какое поле еще что-то записывается, чтобы новая нода начала отображаться?

Комментарии

Аватар пользователя Chyvakoff Chyvakoff 17 августа 2012 в 13:03

Не делайте так.Создавайте ноды апишками друпала.
если вы написали скрипт для записи в бд - то легко всё осилите.

Аватар пользователя ariran ariran 17 августа 2012 в 13:09

я с друпалом только начал знакомиться Smile
что значит "апишками друпала"?
если можно ткнуть в мануал или пошагово описать что сделать, чтобы перенести 300 статей Smile

Аватар пользователя sg85 sg85 17 августа 2012 в 13:21

Если вы добавили данные в таблицу правильно, то осталось лишь почистить кэш, однако я не верю что не зная апи друпала можно залить ему данные на прямую в правильном виде
Я бы создал скрипт с пакетником batch api, подготовил тип материала(в админке), и создавал ноды этого типа с полями, вытянутыми из базы старого сайта внутри этого пакетника, в принципе всю суть поймете если погуглите batch api, там примеры обычно как раз про создание нод

Аватар пользователя ariran ariran 25 января 2013 в 13:55

на некоторое время проект был брошен, но теперь мы к нему вернулись.

сначала про заливку данных напрямую в бд друпала: выяснилось, что таблицы в друпале "дублируются". то есть если мы хотим занести новую статью то нам надо заполнить 2 таблицы (основную и revision)
1) Таблица : node "The base table for nodes."
2) Таблица : node_revision "Stores information about each saved version of a node."
после этого чистится кеш и новая статья появляется в админке и т.д. но тут возникает такой "косяк". на странице со статьей высвечивается ошибка:

Notice: Undefined property: stdClass::$comment_count в функции comment_node_page_additions() (строка 728 в файле /home/modules/comment/comment.module).
при этом параметры заносимых статей полностью идентичны параметрам тестовой статьи, созданной в админке друпала (включая разрешения на комментирование и т.д.)

сама строка 728 выглядит так:
if (($node->comment_count && user_access('access comments')) || user_access('administer comments')) {

начал читать про батч апи - пока что-то не клеится с пониманием.