Снова Hierarchical Select

Главные вкладки

Аватар пользователя validoll validoll 6 февраля 2010 в 18:30

Добрый день.
Никак не могу победить этот модуль.
Суть в следующем: нужно в форме создания ноды для словаря установить значение по умолчанию.
Пробовал через hook_form_alter, но в form['taxonomy'] пусто.
Как добраться до вывода полей таксономии. Смотрел API.txt, но там вроде тоже ничего...

Сталкивался ли кто-нибудь???

Комментарии

Аватар пользователя validoll validoll 8 февраля 2010 в 7:46

В общем разобрался так: отключил все настройки в самом словаре (все это обязательность выбора и привязку материалов). HS оставил.
Затем в form_alter сделал следующее:

function hook_form_alter(&$form, $form_state, $form_id) {
  switch ($form_id) {
    case 'node_form':
    $vid=taxonomy_get_vocabularies();
  $form['taxonomy'][1] = array(
    '#type' => 'hierarchical_select',
    '#title' => $vid[1]->name,
    '#size' => 1,
    '#config' => array(
      'module' => 'hs_taxonomy',
      'params' => array(
        'vid' => $vid[1]->vid,
      ),
      'save_lineage'    => 0,
      'enforce_deepest' => 1,
      'entity_count'    => 0,
      'require_entity'  => 0,
      'resizable'       => 0,
      'level_labels' => array(
        'status' => 0,
        'labels' => array(
          0 => t('Main category'),
          1 => t('Subcategory'),
          2 => t('Third level category'),
        ),
      ),
      'dropbox' => array(
        'status'   => 0,
        'title'    => t('All selections'),
        'limit'    => 0,
        'reset_hs' => 1,
      ),

      'editability' => array(
        'status'           => 0,
        'item_types'       => array(),
        'allowed_levels'   => array(
          0 => 0,
          1 => 0,
          2 => 1,
        ),
        'allow_new_levels' => 0,
        'max_levels'       => 3,
      ),

      // These settings cannot be configured through the UI: they can only be
      // overridden through code.
      'animation_delay'    => 400,
      'special_items'      => array(),
      'render_flat_select' => 0,
      'path'               => 'hierarchical_select_json',
    ),
    '#default_value' => $MY_VALUE,
    '#required' => true,
  );  

В форме создания ноды появляется выбор терминов из словаря из словаря. По умолчанию встает термин с tid = $MY_VALUE

З.Ы.:Обращаю внимание, для того, чтобы при редактировании ноды в это поле подставлялось сохраненное значение, нужно предусмотреть его подгрузку из $form.