From 8f54fcd944d10f399807f0acd58b2243569cf4e2 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Tue, 16 Sep 2014 16:46:55 +0800 Subject: [PATCH] some changes in the form structure --- materio_search_api.module | 47 +++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/materio_search_api.module b/materio_search_api.module index 3c654c85..7c6cd81a 100755 --- a/materio_search_api.module +++ b/materio_search_api.module @@ -693,21 +693,27 @@ function materio_search_api_advanced_search_form($form, &$form_state){ $form = array( 'title' => array( - '#prefix' => "

", + '#prefix' => "

", '#markup' => t("Advanced Search"), - '#suffix' => "

", + '#suffix' => "", ) ); $vocabularies = variable_get('advancedsearchvocs', array()); + $form['slider'] = array( + '#type' => 'fieldset', + // '#title' => $voc->name, + '#tree' => true, + ); + foreach ($vocabularies as $vid) { $voc = taxonomy_vocabulary_load($vid); // dsm($voc, 'voc'); - $form['voc-'.$vid] = array( + $form['slider']['voc-'.$vid] = array( '#type' => 'fieldset', - '#title' => $voc->name, + // '#title' => $voc->name, '#tree' => true, ); @@ -728,7 +734,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){ || !count($children)) continue; - $form['tree-'.$term->tid] = array( + $form['slider']['voc-'.$vid]['tree-'.$term->tid] = array( '#type' => 'fieldset', // '#title' => $term->name, '#attributes' => array("class"=>array("treelevel1")), @@ -736,7 +742,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){ ); $placeholder = t("Select an option"); - $form['tree-'.$term->tid]['children'] = array( + $form['slider']['voc-'.$vid]['tree-'.$term->tid]['children'] = array( '#type' => 'select', '#title' => $term->name, '#attributes' => array( @@ -785,7 +791,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){ if(count($dflt_values2)) $classes2[] = 'visible'; - $form['tree-'.$term->tid]['tid-'.$child->tid] = array( + $form['slider']['voc-'.$vid]['tree-'.$term->tid]['tid-'.$child->tid] = array( '#type' => 'select', '#title' => $child->name, '#multiple' => true, @@ -803,19 +809,19 @@ function materio_search_api_advanced_search_form($form, &$form_state){ } } if(count($options)){ - $form['tree-'.$term->tid]['children']['#options'] = $options; + $form['slider']['voc-'.$vid]['tree-'.$term->tid]['children']['#options'] = $options; }else{ - unset($form['tree-'.$term->tid]); + unset($form['slider']['voc-'.$vid]['tree-'.$term->tid]); } } } - $form['show'] = array( - '#type' => 'submit',//'image_button', - // '#src' => drupal_get_path('module', 'materio_search_api') . '/images/search.png', + $form['slider']['show'] = array( + '#type' => 'image_button', + '#src' => drupal_get_path('module', 'materio_search_api') . '/images/search.png', '#value' => t('Find'), - '#attributes' => array("class"=>array("btn","btn-lg")), + // '#attributes' => array("class"=>array("btn","btn-lg")), '#prefix' => '
', '#suffix' => '
', ); @@ -834,14 +840,17 @@ function materio_search_api_advanced_search_form_validate($form, &$form_state){ function materio_search_api_advanced_search_form_submit($form, &$form_state){ dsm($form, 'form'); dsm($form_state, 'form_state'); - $fs_values = $form_state['values']; + $fs_values = $form_state['values']['slider']; + unset($fs_values['show']); dsm($fs_values, 'values'); - foreach($fs_values as $tree => $values){ - foreach ($values as $values => $selected) { - if(is_array($selected) && count($selected)){ - foreach ($selected as $tid) { - $tids[] = $tid; + foreach($fs_values as $voc => $trees){ + foreach($trees as $tree => $values){ + foreach ($values as $values => $selected) { + if(is_array($selected) && count($selected)){ + foreach ($selected as $tid) { + $tids[] = $tid; + } } } }