Помогите не могу составить sql запрос для добавления ноды в Друпал.
$query = mysql_query( "INSERT INTO node ( nid, vid, type ) ".
"VALUES ( ".$i_nid.",".$i_nid.",".$type_content.")" );
НО ОН НЕ РАБОТАЕТ, потому что в type я так понял нужно добавлять field. Но я не не знаю как это сделать, чтобы взять field из другой таблицы - node_type?
Комментарии
А поставить фигурные скобки около имени таблицы?!
Пошарьте в коде (по слову INSERT)- там образцов навалом
Сам ответил на свой вопрос. Забыл ' и '
$query = mysql_query( "INSERT INTO node ( nid, vid, type ) ".
"VALUES ( ".$i_nid.",".$i_nid.",'".$type_content."')" );
Не надо трогать БД напрямую, иначе все ваши наработки могут перестать действовать при следующем апгрейде или, что хуже, будут работать наполовину.
В данном случае можно воспользоваться ф-цией drupal_execute($form_id, $form_values).
Пример из описания ф-ции.
Добавление нового материала:
<?php
$node = array('type' => 'story');
$values['title'] = 'My node';
$values['body'] = 'This is the body text!';
$values['name'] = 'robo-user';
drupal_execute('story_node_form', $values, $node);
?>
а в 4.7 друпале как быть?