Сохранить программно вложенный термин таксономии сразу - PullRequest
0 голосов
/ 18 декабря 2010

код, приведенный ниже, позволяет создавать термины таксономии с помощью Drupal API

$terms = array(   

      $term1 = array(
      'name' => 'term name', 
      'description' => '', 
      'parent' => array(0), 
      'vid' => $vid,
       ),

      $term2 = array(
      'name' => 'term name', 
      'description' => '', 
      'parent' => array(0), 
      'vid' => $vid,
       ),

      $term3 = array(
      'name' => 'term name', 
      'description' => '', 
      'parent' => array(0), 
      'vid' => $vid,
       ),
);

foreach ($terms as $term) {
$term = (object) $term;
taxonomy_term_save($term);

}

Это хорошо работает для терминов одноуровневого типа, но что, если мне нужно создать дерево таксономии Нестер?Для этого есть ключ 'parent', который должен содержать массив идентификаторов родительских терминов

Как я узнаю эти идентификаторы до того, как родительские термины будут сохранены в БД?

1 Ответ

4 голосов
/ 18 декабря 2010

Ключ добавляется к объекту переданного термина с помощью taxonomy_term_save (точнее, taxonomy_term_save вызова drupal_write_record):

$term1 = array(
      'name' => 'term name', 
      'description' => '', 
      'parent' => array(0), 
      'vid' => $vid,
);
$term1 = (object) $term1;
taxonomy_term_save($term1);
echo $term1->tid; // now where did that come from?
...