Этот код работает для DRUPAL 7
поддерживается создание связей терминов и полей таксономии
PS:
Обязательно проверьте чтоб ваш скрипт был в кодировке utf
поддерживается создание связей терминов и полей таксономии
PS:
Обязательно проверьте чтоб ваш скрипт был в кодировке utf
/*** Arguments* name* vid* arg[parent] =0* arg[termFields] = array(array(key=>value))*/function _taxonomy_term_add($name, $vid, $arg = array()){$term = new stdClass;$term->name = $name;$term->vid = (int)$vid;$term->parent = (int)$arg['parent']>0? (int)$arg['parent'] : 0;$term->path = array("alias" => '',"pid" => null,"source" => null,"language" => "und","pathauto" => 1);if(isset($arg['termFields']) && is_array($arg['termFields'])){$termFields = $arg['termFields'];foreach($termFields as $field){list($fieldName,$fieldValue) = each($field);$term->{$fieldName} = array("und" => array(array("value" => $fieldValue)));}}taxonomy_term_save($term);_taxonomy_manager_update_voc($term->vid, $term->parent);taxonomy_terms_static_reset();return $term;}
/*** Helper function that updates the hierarchy settings of a voc*/function _taxonomy_manager_update_voc($vid, $parents = array()) {$voc = taxonomy_vocabulary_load($vid);if ($voc->vid == $vid) {$current_hierarchy = count($parents);if ($current_hierarchy > 2) {$current_hierarchy = 2;}if ($current_hierarchy > $voc->hierarchy) {$voc->hierarchy = $current_hierarchy;taxonomy_vocabulary_save($voc);}}}
//пример добавления термина
$termname = 'Кама';$vid = 4;$arg = array('parent' =>0'termFields' => array(array('taxonomy_field_name'=>$termname)));
_taxonomy_term_add($termname, $vid, $arg);