Automatyczne tworzenie segmentów (nodes)

Witam wszystkich, Chciałbym automatycznie tworzyć sobie nody z pliku xml, problem w tym, że funkcja, która powinna je wrzucać do bazy nie działa. Sam moduł działa jednak wyśmienicie. Samemu, przez formularz, mogę tworzyć nowe nody. Poniżej wklejam funkcję, która docelowo ma przetwarzać xml i wrzucać to do bazy danych. Póki co próbuję z pojedynczymi danymi, ale bez efektów.

/**
 * Making nodes from xml
 */
function assets_make_nodes() {

$form_state = array();
module_load_include('inc', 'node', 'node.pages');
$node = array('type' => 'assets');
$form_state['values']['title'] = 'Sample title';
$form_state['values']['body'] = 'Nothing here.';
$form_state['values']['name'] = 'admin';
$form_state['values']['op'] = t('Save');
$form_state['values']['cord_x'] = '1';
$form_state['values']['cord_y'] = '2';
drupal_execute('assets_form', $form_state, $node);
} // function assets_make_nodes()

Sposób wyświetlania odpowiedzi

Wybierz preferowany sposób wyświetlania odpowiedzi i kliknij "Zachowaj ustawienia", by wprowadzić zmiany.

wydaje mi się, że

wydaje mi się, że zamiast:

$form_state['values']['title'] =..

powinno być

$form_state['title']=...

a jeśli chodzi o pola cck, które sam dodawałeś to sprawdź w źródle strony html formularza dodawania node'a jak drupal je nazwał. Ja np. dodałem pole ulica, drupal nadał mu nazwę field_ulica, a w wynikowym formularzu w html ma nazwę:

<input type="text" maxlength="" name="field_ulica[0][value]"

więc w kodzie php odwołuje się do niego przez:

$values['field_ulica'][0][value]=...

i programowe dodawanie node'ów z pliku działa dobrze

pozdrawiam Tomek

Dzięki za

Dzięki za zainteresowanie.

Pola nie dodaję przez cck, a dopisuję w formularzu, więc mam tylko nazwy, bez przedrostków.

$zmienna[‚valu­es’][‚nazwa_po­la’] to zapis jak znalazłem w dokumentacji dla D6. Zresztą bez tego też próbowałem i nic.

Całość wydaje mi się dobrze napisana, problem chyba leży gdzieś w obsłudze tego formularza. Przypuszczam, że brakuje/działa źle jakaś funkcja.

Nie chcę tu wklejać całego kodu, ale gdyby ktoś był zainteresowany w przejrzeniu go pod względem błędów to chętnie wyślę.

Robert