2010-06-09 1 views
1
$form_state['values']['field_prx_mp3_labels'][0][value] = $mp3_labels; 
    $form_state['values']['taxonomy'][0][value] = array('tags'=>array('1'=>'Music')); 
    $errs = drupal_execute('prx_content_node_form', $form_state, (object) $nodeTmp); 

Это сайт Drupal 6. Я использую drupal_execute для создания узла программно. Первая строка работает для field_prx_mp3_labels. Второй (для таксономии) - нет.Drupal 6 - Я использую drupal_execute для вставки узла CCK в мой сайт. Все работает, кроме таксономии

Вот то, что мой выбор на узле добавить мой ССК выглядит следующим образом:

<select name="taxonomy[2][]" multiple="multiple" class="form-select" id="edit-taxonomy-2" size="9"><option value="">- None -</option><option value="5">Music</option><option value="6">-Rock/Pop</option><option value="7">-Jazz/Blues</option><option value="8">-Classical</option><option value="9">-Music Documentaries</option><option value="10">-Festivals/Concerts</option><option value="11">Arts</option><option value="19">-Literature</option><option value="12">Nature</option><option value="13">History</option><option value="15">-Music</option><option value="14">Culture</option><option value="17">-American Indian</option><option value="18">-Latino</option><option value="16">-Youth Perspective</option></select> 

Я пробовал много много вариантов для линии 2 (относящейся к систематике).

Этот комментарий казался близким, но он не работает для меня: http://drupal.org/node/178506#comment-1155576

Спасибо!

ответ

1

Не [значение] должно быть в кавычках?

И вы попробуете это:

$form_state['values']['taxonomy'] = array('tags'=>array('1'=>'Music')); 
+0

Я попробовал его в кавычках и не повезло. Первая строка работает, и там нет кавычек. Спасибо хоть! – rdurbin

+0

Обновлен мой ответ. Таксономия не является полем CCK и, следовательно, не требуется [index] [value], как вы находите поля CCK. – Kevin

+0

Хм. Я тоже пробовал, и мне не повезло. Хороший вопрос о том, чтобы не быть частью CCK. – rdurbin

0

Я закончил тем, что делал это по-другому. В основном я запускаю drupal_execute, чтобы нажимать содержимое CCK в Drupal. Сразу после этого я запрашиваю БД, чтобы получить идентификатор только что вставленного узла. Затем я беру этот идентификатор и запускаю цикл, который вставляет отношения таксономии непосредственно в таблицу term_node.

Возможная проблема заключается в том, что информация о таксономии недоступна во время drupal_execute. Это означает, что если вы полагаетесь на таксономию для части своих правил pathauto/alias, таксономия пока недоступна.

 Смежные вопросы

  • Нет связанных вопросов^_^