started to mix search form and advanced search form into one unique block, the idea is to switch to one from an other with tabs

This commit is contained in:
Bachir Soussi Chiadmi
2017-10-25 17:01:00 +02:00
parent 9bfbd861ca
commit 55700094a2
4 changed files with 192 additions and 157 deletions

View File

@@ -618,17 +618,17 @@ function materio_search_api_search_form($form, &$form_state){
$args = arg();
$path = array_shift($args);
// dsm($args, 'args');
if(isset($args[0]) && $args[0] == "advanced"){
$advanced = true;
array_shift($args);
// dsm($args, 'shifted arsg');
// foreach ($args as $arg) {
// $typed[] = $arg;//(integer)$arg;
// }
$keys = implode(' +', $args);
}else{
// if(isset($args[0]) && $args[0] == "advanced"){
// $advanced = true;
// array_shift($args);
// // dsm($args, 'shifted arsg');
// // foreach ($args as $arg) {
// // $typed[] = $arg;//(integer)$arg;
// // }
// $keys = implode(' +', $args);
// }else{
$keys = implode('/', $args);
}
// }
@@ -643,20 +643,6 @@ function materio_search_api_search_form($form, &$form_state){
$default_value = '';
}
// add a back to search/base home bouton if on explore/foo
if ($path == 'explore' || $path == 'bookmarks' || $path == 'lists' ) {
$link = l('<i class="fi-home"></i>', base_path().'actuality', array(
'html'=>true,
'attributes'=>array('class'=>'back-search-home')
));
$form['actu'] = array(
'#type' => 'markup',
'#markup' => $link,
//'<a href="'.base_path().'actuality" class="back-search-home"><i class="fi-home"></i></a>'
);
}
$form['searchfield'] = array(
'#type' => 'textfield',
@@ -693,6 +679,27 @@ function materio_search_api_search_form($form, &$form_state){
'#src' => drupal_get_path('module', 'materio_search_api') . '/images/search.png',
'#value' => t('Search'),
);
// add a back to search/base home bouton if on explore/foo
if ($path == 'explore' || $path == 'bookmarks' || $path == 'lists' ) {
// buttons form container
$form['rightcol'] = array(
'#type' => 'container',
);
$link = l('<i class="fi-home"></i>', base_path().'actuality', array(
'html'=>true,
'attributes'=>array('class'=>'back-search-home')
));
$form['rightcol']['actu'] = array(
'#type' => 'markup',
'#markup' => $link,
//'<a href="'.base_path().'actuality" class="back-search-home"><i class="fi-home"></i></a>'
);
}
return $form;
}
@@ -742,7 +749,7 @@ function materio_search_api_search_form_submit($form, &$form_state){
* materio_search_api_advanced_search_form()
*/
function materio_search_api_advanced_search_form($form, &$form_state){
dsm($form_state, 'form_state');
// dsm($form_state, 'form_state');
// dsm($form, 'form');
// global $user;
// $form = array();
@@ -858,7 +865,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
}else{
$ll = $l;
}
dsm("l : ".$l." | ll : ".$ll);
// dsm("l : ".$l." | ll : ".$ll);
$form['filters']['filterline-'.$ll] = array(
'#type' => 'container',
@@ -877,7 +884,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
}elseif(isset($args_values[$l][0])){
$default0 = $args_values[$l][0];
}
dsm($default0, "default 0");
// dsm($default0, "default 0");
// form select element for first level
$form['filters']['filterline-'.$ll]['filter-'.$ll.'-0'] = array(
@@ -916,7 +923,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
}elseif(isset($args_values[$l][1])){
$default1 = $args_values[$l][1];
}
dsm($default1, "default 1");
// dsm($default1, "default 1");
// form select element for second level
$form['filters']['filterline-'.$ll]['filter-'.$ll.'-1'] = array(
@@ -947,7 +954,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
}elseif(isset($args_values[$l][2])){
$default2 = $args_values[$l][2];
}
dsm($default2, "default 2");
// dsm($default2, "default 2");
$level_2_ops = array();
foreach ($taxotree2 as $index => $term) {
@@ -1008,7 +1015,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
),
);
// filters form container
// buttons form container
$form['rightcol'] = array(
'#type' => 'container',
);
@@ -1033,29 +1040,29 @@ function materio_search_api_advanced_search_form($form, &$form_state){
'#return_value' => "search",
);
dsm($form, 'form');
// dsm($form, 'form');
return $form;
}
function materio_search_api_advanced_search_select_callback($form, &$form_state) {
return $form['filters'];
}
function materio_search_api_advanced_search_addfilter_callback($form, &$form_state) {
return $form['filters'];
}
function materio_search_api_advanced_search_rmline_callback($form, &$form_state) {
return $form['filters'];
}
function materio_search_api_advanced_search_form_validate($form, &$form_state){
// dsm($form, '$form');
// dsm($form_state, '$form_state');
// dsm(strlen($form_state['values']['searchfield']));
// if (strlen(trim($form_state['values']['searchfield'])) <= 1) {
// form_set_error('searchfield', 'Please enter at least 2 characters keyword.');
// }
if($form_state['triggering_element']['#name'] == 'search'){
// dsm($form, '$form');
dsm($form_state, 'form_state');
if (!isset($form_state['values']['filter-0-1']) || $form_state['values']['filter-0-1'] == '') {
form_set_error('filters', 'Please choose at least 1 keyword.');
}
}
}
function materio_search_api_advanced_search_form_submit($form, &$form_state){
@@ -1190,7 +1197,11 @@ function materio_search_api_theme($existing, $type, $theme, $path) {
*/
function template_preprocess_materio_search_api_search_block(&$vars){
// dsm($vars, '$vars');
$vars['search_title'] = t("Text search");
$vars['searchform'] = drupal_get_form("materio_search_api_search_form");
$vars['advanced_search_title'] = t("Filtered search");
$vars['advanced_searchform'] = drupal_get_form("materio_search_api_advanced_search_form");
}
/**

View File

@@ -1,5 +1,11 @@
<div class="inner">
<div class="msa-search">
<h4><?php print $search_title; ?></h4>
<?php print render($searchform); ?>
</div>
<div class="msa-advanced-search">
<h4><?php print $advanced_search_title; ?></h4>
<?php print render($advanced_searchform); ?>
</div>
<?php print render($searchform); ?>
</div>
</div>