0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 1646 Просмотров
*

Artrum

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
Добрый день ув. знатоки.
Стала задача добавить новый поисковый запрос "жилая площадь", "размер кухни", "размер участка", добавил эти поля в search.html.php             

echo "<div class=\"ea_sf_container\"><label class=\"ea_sf_label\">".JText::_('EA_OBJ_PP_SIZE')."</label>"
            .$lists['livingspacemin']."<span class=\"maxlabel\">".JText::_('EA_SEARCH_MIN')."</span>"."</div>";
            echo "<div class=\"ea_sf_container\"><label class=\"ea_sf_label\">".'&nbsp;'."</label>"
            .$lists['livingspacemax']."<span class=\"maxlabel\">".JText::_('EA_SEARCH_MAX')."</span>"."</div>";
            echo "<br/>";


но естественно поиск не происходит, так как параметры поиска берутся и копируются из "общая площадь",   подскажите где именно запрос указывать в каком разделе базы данных должен проходить поиск. В варианте примера я так понимаю поиск проходит по .$lists['livingspacemin']  .$lists['livingspacemax']."     но от куда этот параметр ?  в базе данных такого нет, в файлах его тоже нет. Как поисковик понимает в какой строчке базы нужно искать запрос ?    Т.е. Физически в расширенный поиск я добавил параметры поиска, но как заставить искать конкретно по каждому из добавленных запросов.  Я с подобной задачей уже сталкивался года 3 назад и её решил, но совершенно не помню в каком файле это делал, помню что где то в админских файлах, добавлял новые параметры поиска и всё искал идеально, но совершенно не помню что за файл и где именно прописывал.

Возможно финансовое вознаграждение за помощь.
Joomla! 2.5.6  EstateAgent Improved v. 2.5.4     поиск на форуме не дал результата.   Т
*

Artrum

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
Re: Новый запрос в расширенный поиск
« Ответ #1 : 01.04.2014, 22:38:12 »
Отвечаю себе сам, и ответ к сожалению себе сам дал. Проковырявшись весь день нашел решение но пока только для параметров от и до.
Делаю для себя напоминалку,  вдруг ещё когда пригодится, да или кому нить понадобится.


1)

function extended_srch_query(){

  $where = '';
 
  $parts=array(); 
  $space_max = JRequest::getInt('space_max','-1');
  $space_min = JRequest::getInt('space_min','-1');
 
   
  if($space_max !==$space_min){
   $s=array($space_max,$space_min);
   $space_max= max($s);
   $space_min= min($s);
  }
 
   if($space_min>=0 && $space_max>=0)  $parts[] = '(o.space BETWEEN ' . $space_min. ' AND ' . $space_max . ')';
   if($space_min>=0 && $space_max=='-1') $parts[] = 'o.space >= ' . $space_min;
   if($space_max>=0 && $space_min=='-1') $parts[] = 'o.space <= ' . $space_max;


  $pp_size_max = JRequest::getInt('pp_size_max','-1');
  $pp_size_min = JRequest::getInt('pp_size_min','-1');
 
   
  if($pp_size_max !==$pp_size_min){
   $s=array($pp_size_max,$pp_size_min);
   $pp_size_max= max($s);
   $pp_size_min= min($s);
  }
Курсивом добавленная часть в файл параметра pp_size (в моём случае это жилая площадь) в файл /components/com_estateagent/helpers/helper.search.estateagent.php

2)

Вывод параметра в расширенном поиске -   в файле   /components/com_estateagent/html/search.html.php      

echo "<div class=\"ea_sf_container\"><label class=\"ea_sf_label\">".JText::_('EA_OBJ_DWSPACE')."</label>"
            .$lists['livingpp_sizemin']."<span class=\"maxlabel\">".JText::_('EA_SEARCH_MIN')."</span>"."</div>";
            echo "<div class=\"ea_sf_container\"><label class=\"ea_sf_label\">".'&nbsp;'."</label>"
            .$lists['livingpp_sizemax']."<span class=\"maxlabel\">".JText::_('EA_SEARCH_MAX')."</span>"."</div>";
            echo "<br/>"

3) Добавляем то что курсивом в файл /components/com_estateagent/actions/search.php

if($eaconf->ea_extend_srch){

   $livingspace=get_space_list();
   
   $lists['livingspacemax'] = JHTML::_('select.genericlist', $livingspace, 'space_max', array(
   'option.text.toHtml' => false ,
   'list.attr' => 'class="inputbox livingspacebox" ',
   'option.text' => 'text' ,
   'option.key' => 'value',
   'list.select' => '',
   ));
   
   $lists['livingspacemin'] = JHTML::_('select.genericlist', $livingspace, 'space_min', array(
   'option.text.toHtml' => false ,
   'list.attr' => 'class="inputbox livingspacebox" ',
   'option.text' => 'text' ,
   'option.key' => 'value',
   'list.select' => '',
   ));
   
   $livingspace2=get_space_list();
   
   $lists['livingpp_sizemax'] = JHTML::_('select.genericlist', $livingspace2, 'pp_size_max', array(
   'option.text.toHtml' => false ,
   'list.attr' => 'class="inputbox livingspacebox" ',
   'option.text' => 'text' ,
   'option.key' => 'value',
   'list.select' => '',
   ));
   
   $lists['livingpp_sizemin'] = JHTML::_('select.genericlist', $livingspace2, 'pp_size_min', array(
   'option.text.toHtml' => false ,
   'list.attr' => 'class="inputbox livingspacebox" ',
   'option.text' => 'text' ,
   'option.key' => 'value',
   'list.select' => '',
   ));



Для чего такой геморой был сделан в Joomla и в компоненте мне не понятно, но как я уже несколько раз слышал от своих друзей программистов, Joomla и её компоненты создавали в самый глубоких подземельях ада.   на то оно и похоже.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает поиск в "редактировать обьявление"

Автор doro45

Ответов: 0
Просмотров: 2546
Последний ответ 08.10.2016, 16:46:23
от doro45
Пункт меню "Поиск по геоположению"

Автор Natko23

Ответов: 0
Просмотров: 1496
Последний ответ 28.02.2015, 23:32:45
от Natko23
Поиск по параметрам EstateAgent improved 1.5.11

Автор sergfd

Ответов: 0
Просмотров: 1639
Последний ответ 11.12.2013, 17:07:03
от sergfd
Вылетает родная менюшка EA при нажатии на поиск

Автор CYBERMOT

Ответов: 0
Просмотров: 1540
Последний ответ 21.03.2013, 06:45:01
от CYBERMOT
Поиск по стране в mod_ea_search

Автор jeez

Ответов: 1
Просмотров: 1592
Последний ответ 24.05.2012, 14:31:59
от brabus_72