Drupal 6 - я использую drupal_execute для вставки узла CCK в мой сайт. Все работает, кроме таксономии - PullRequest
1 голос
/ 10 июня 2010
  $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. Второго (для таксономии) нет.

Вот как выглядит мой выбор для добавления узла для моего 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

Спасибо!

Ответы [ 2 ]

1 голос
/ 10 июня 2010

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

И вы пробовали это:

$form_state['values']['taxonomy'] = array('tags'=>array('1'=>'Music'));
0 голосов
/ 17 июня 2010

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

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

...