Geokom

Изменить стандартную форму поиска

Recommended Posts

Добрый день,

 

Где и как можно изменить стандартную форму поиска (в простом и расширенном режиме) и ее отдельные элементы, а именно

 

1. как установить город по умолчанию

2. как убрать чекбокс "мебель" в форме расширенного поиска

3. какая площадь имеется в виду в форме расширенного поиска? как добавить фильтры по общей площади, по жилой и по кухне. Можно ползунками, как и цена.

4. чек бокс - "комнат" - в расширенной форме - имеет 4 значения, а в структуре есть еще комнаты, т.е. количество квадратов в чекбоксе в расширенной форме не совпадает со структурой

5. Есть поле выбрать раздел и чек бокс "комнат" - как они взаимодействуют в фильтре?

6. как изменить ширину и расположение на макете полей "город" "метро" "район" "улица" кнопки "НАЙТИ", а то они уехали на правое меню....(в расширенном поиске)

7. в выводимом списке нужны номера домов, а также возможность сделать фильтр по улице, и сортировку по номеру дома. Как сделать?

8.   Можно ли сделать сортировку по площади?

9. на карту выводятся объекты только если расположение явно указать при заполнении заявки?
по адресу (город, улица, номер дома) не ищется?
10. В метке на карте указана цифра - это ID - но по логике там должно выводится количество объектов, которые попадают в эту точку (область карты) при данном масштабе - можно ли это сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Файл standart_search_form.tpl

Все эти ответы есть на форуме. Нужно только внимательно почитать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это не ответ. Ищите на форуме..... Весь демонстрационный месяц буду искать... Это тоже не ответ: http://wiki.sitebill...араметры_поиска,т.к. ваш сервис для чайников.

Как мне с главной страницы убрать "район" и "метро", а город чтоб был один единственный без выбора. Да вообщем то для моего случая все эти поля не нужны. Нужен поиск 1- комн, 2-комн, и т.д. Он и так реализован. Как убрать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это не ответ. Ищите на форуме..... Весь демонстрационный месяц буду искать... Это тоже не ответ: http://wiki.sitebill...араметры_поиска,т.к. ваш сервис для чайников.

Как мне с главной страницы убрать "район" и "метро", а город чтоб был один единственный без выбора. Да вообщем то для моего случая все эти поля не нужны. Нужен поиск 1- комн, 2-комн, и т.д. Он и так реализован. Как убрать?

Админка-настройка-вкладка общие- снимаете чекбокс с не нужных полей. Админка приложение редактор форм, таблица DATA деактивируете не нужные Вам поля

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день,

 

Где и как можно изменить стандартную форму поиска (в простом и расширенном режиме) и ее отдельные элементы, а именно

 

1. как установить город по умолчанию

2. как убрать чекбокс "мебель" в форме расширенного поиска

3. какая площадь имеется в виду в форме расширенного поиска? как добавить фильтры по общей площади, по жилой и по кухне. Можно ползунками, как и цена.

4. чек бокс - "комнат" - в расширенной форме - имеет 4 значения, а в структуре есть еще комнаты, т.е. количество квадратов в чекбоксе в расширенной форме не совпадает со структурой

5. Есть поле выбрать раздел и чек бокс "комнат" - как они взаимодействуют в фильтре?

6. как изменить ширину и расположение на макете полей "город" "метро" "район" "улица" кнопки "НАЙТИ", а то они уехали на правое меню....(в расширенном поиске)

7. в выводимом списке нужны номера домов, а также возможность сделать фильтр по улице, и сортировку по номеру дома. Как сделать?

8.   Можно ли сделать сортировку по площади?

9. на карту выводятся объекты только если расположение явно указать при заполнении заявки?

по адресу (город, улица, номер дома) не ищется?

10. В метке на карте указана цифра - это ID - но по логике там должно выводится количество объектов, которые попадают в эту точку (область карты) при данном масштабе - можно ли это сделать?

 

Шаблон формы поиска. Зависит от конкретного шаблона, но обычно это

 

/template/frontend/agency/standart_search_form.tpl

или

/template/frontend/agency/search_form.tpl

 

Если город единственный, а районы и метро не используются, то погасить в модели эти поля через Редактор форм и в шаблоне формы поиска исключить их разметку.

 

2. Шаблон формы поиска. 

вывод этого чекбокса

<tr><td>{$L_FURNITURE}</td><td><div class="select_box_td"><input type="checkbox" name="is_furniture"{if isset($smarty.request.is_furniture)} checked="checked"{/if} value="1" /></div></td>                                </tr>

3. Общая. square_all

 

4-5. Количество комнат и разделы в структуре никак не связаны между собой и никак не влияют друг на друга. Поиск по полю Количество комнат обуславливается параметром из чекбоксов, поиск в разделе структуры Комната обуславливается выбором соотв.. пункта на форме в селекте Тип.

 

6. Расположение управляется изменением разметки шаблона формы поиска. Размеры же, правкой или дополнением стилейконкретных элементов.

 

7. В списке номер дома доступен как $grid_items.системное_имя_поля_с_номером_дома.

"Фильтр по улице и номеру дома" - это именно фильтр или сортировка?

 

8. Да. order=square_all. Сортировка происходит по значениям поля square_all.

 

9. да. и не иначе.

 

10. По логике туда может выводиться и цена, или количество, или название улицы и номер дома. Логика - она ведь разная бывает.))

То, что вы описали - это кластеризация - когда близкие объекты при определенном масштабе сливаются в один маркер. Тогда имеет смысл выводить количество попавших объектов. Но та карта, которая у вас, работает без кластеров, а просто выводит маркеры, которые, если не расставлять их осознано, роботом могут ставиться в одну точку. Они не сливаюся в один маркер, кроме случаев, когда их координаты идентичны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7. в выводимом списке нужны номера домов, а также возможность сделать фильтр по улице, и сортировку по номеру дома. Как сделать?

 

7. В списке номер дома доступен как $grid_items.системное_имя_поля_с_номером_дома.

"Фильтр по улице и номеру дома" - это именно фильтр или сортировка?

 

 

 

Фильтр по улице и сортировка по номеру дома или по  цене...как сделано в админке, отобразить все объявления на этой улице, и выстроить их по номеру дома или по цене (или по другому параметру).

 

т.е. в список на главной странице добавить фильтры как в админке....
добавить номера домов с сортировкой.

 

 

Да, спасибо за ответы, буду пробывать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста как сместить кнопку "поиск" на главной?

Пробовал тут прописывать style

<td class="sch"><a class="search_page_toggle" href="#">{$L_TURNOFF}</a></td> <td class="sch_button"><input type="submit"   name="search" value="{$L_GO_FIND}"  class="btn btn-primary" /></td> </tr>

Хотелось бы вот так - http://prntscr.com/6wro2f

Заранее спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

/template/frontend/agency/standart_search_form.tpl

<td class="bts"><input type="submit" name="search" value="{$L_GO_FIND}" class="btn btn-primary" /></td>

Заменить на 

</tr><tr><td></td><td class="bts"><input type="submit" name="search" value="{$L_GO_FIND}" class="btn btn-primary" /></td>

/template/frontend/agency/css/style.css

Найти правило 

.bts {text-align: right;vertical-align: bottom;}

и поменять text-align на center вместо right

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

/template/frontend/agency/standart_search_form.tpl

<td class="bts"><input type="submit" name="search" value="{$L_GO_FIND}" class="btn btn-primary" /></td>

Заменить на 

</tr><tr><td></td><td class="bts"><input type="submit" name="search" value="{$L_GO_FIND}" class="btn btn-primary" /></td>

/template/frontend/agency/css/style.css

Найти правило 

.bts {text-align: right;vertical-align: bottom;}

и поменять text-align на center вместо right

 

Спасибо, отлично.  :) 

Подскажите пожалуйста ещё один момент, где я могу редактировать цвет и размер кнопки ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В данный момент кнопка берет библиотечное оформление.

Вы можете в том блоке, что правили для <input type="submit"> убрать классы btn btn-primary, вместо них поставить свои и присвоить этим классам свое оформление.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В данный момент кнопка берет библиотечное оформление.

Вы можете в том блоке, что правили для <input type="submit"> убрать классы btn btn-primary, вместо них поставить свои и присвоить этим классам свое оформление.

Понял вас , спасибо ещё раз 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 13.04.2015 в 07:29, rumantic сказал:

а если речь идет про несколько чекбоксов? в этот файл значения подствляешь-например от бассейна ниже. вообще сайт пропадает.

<?php
class Template_Search extends SiteBill {
    public function getParams(){
        $params=array();
        if(''!==$this->getRequestValue('is_pool')){
	 	$params['is_pool'] = (int)$this->getRequestValue('is_pool');
	 }
        return $params;
    }
    public function run(){
        $where_array=array();
        $params=$this->getParams();
        require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');
        $data_model = new Data_Model();
        $data_model_array = $data_model->get_kvartira_model(false);
        $data_model_array = $data_model_array['data'];
        if($params['is_pool'] == 1 && isset($data_model_array['is_pool'])){
        	$where_array[]=DB_PREFIX.'_data.is_pool='.$params['is_pool'];
	 }
        return array(
            'where'=>$where_array,
            'params'=>$params	
        );
    }
}<?php
class Template_Search extends SiteBill {
    public function getParams(){
        $params=array();
        ....
        return $params;
    }
    public function run(){
        $where_array=array();
        $params=$this->getParams();
        require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');
        $data_model = new Data_Model();
        $data_model_array = $data_model->get_kvartira_model(false);
        $data_model_array = $data_model_array['data'];
        ....
        return array(
            'where'=>$where_array,
            'params'=>$params	
        );
    }

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 3/8/2017 в 02:24, Helenblondi сказал:

а если речь идет про несколько чекбоксов? в этот файл значения подствляешь-например от бассейна ниже. вообще сайт пропадает.

Скорей всего вы скопировали этот код один в один, но тут есть символы

...

Это не рабочие символы.

Вместо них нужно подставлять строки, которые ниже в вики написаны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, rumantic сказал:

Скорей всего вы скопировали этот код один в один, но тут есть символы

...

Это не рабочие символы.

Вместо них нужно подставлять строки, которые ниже в вики написаны.

я не понимаю принцип сам. в одном файле я должна прописывать вывод всех елементов или под каждый елемент создавать отдельный файл? что касается файла в вики написано основной код. я его и взяла.  основной код

<?php
class Template_Search extends SiteBill {
    public function getParams(){
        $params=array();
        ....
        return $params;
    }
    public function run(){
        $where_array=array();
        $params=$this->getParams();
        require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');
        $data_model = new Data_Model();
        $data_model_array = $data_model->get_kvartira_model(false);
        $data_model_array = $data_model_array['data'];
        ....
        return array(
            'where'=>$where_array,
            'params'=>$params	
        );
    }
}

для всех чекбоксов один использовать?

а далее подставлять код 

if(''!==$this->getRequestValue('parking')){
    $params['parking'] = (int)$this->getRequestValue('parking');
}if($params['parking'] == 1 && isset($data_model_array['parking'])){
    $where_array[]=DB_PREFIX.'_data.parking='.$params['parking'];
}
if(''!==$this->getRequestValue('is_pool')){
    $params['is_pool'] = (int)$this->getRequestValue('is_pool');
}if($params['is_pool'] == 1 && isset($data_model_array['is_pool'])){
    $where_array[]=DB_PREFIX.'_data.parking='.$params['is_pool'];
}

и так для всех чекбоксов меняя системные названия?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, Helenblondi сказал:

я не понимаю принцип сам. в одном файле я должна прописывать вывод всех елементов или под каждый елемент создавать отдельный файл? что касается файла в вики написано основной код. я его и взяла.  основной код


<?php
class Template_Search extends SiteBill {
    public function getParams(){
        $params=array();
        ....
        return $params;
    }
    public function run(){
        $where_array=array();
        $params=$this->getParams();
        require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');
        $data_model = new Data_Model();
        $data_model_array = $data_model->get_kvartira_model(false);
        $data_model_array = $data_model_array['data'];
        ....
        return array(
            'where'=>$where_array,
            'params'=>$params	
        );
    }
}

для всех чекбоксов один использовать?

а далее подставлять код 


if(''!==$this->getRequestValue('parking')){
    $params['parking'] = (int)$this->getRequestValue('parking');
}if($params['parking'] == 1 && isset($data_model_array['parking'])){
    $where_array[]=DB_PREFIX.'_data.parking='.$params['parking'];
}
if(''!==$this->getRequestValue('is_pool')){
    $params['is_pool'] = (int)$this->getRequestValue('is_pool');
}if($params['is_pool'] == 1 && isset($data_model_array['is_pool'])){
    $where_array[]=DB_PREFIX.'_data.parking='.$params['is_pool'];
}

и так для всех чекбоксов меняя системные названия?

Да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

подскажите а как на главную  форму поиска поставить дополнительный параметр в виде селект бокса например тип строения (кирпич дерево метал бетон)

в  темплате-сеарч он у нас определен и в дополнительных формах выводится и обрабатывается то есть 80% работы сделано а вот как его вывести на главной форме поиска -которая по умолчанию ? 

что вставить например в 

           <div class="controls">
                          
                         <label class="control-label" for="inputType">
сюда какой код?
                         </label> 
                        </div>

del.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
<div class="type control-group">
  <label class="control-label">Тип чего-от там</label>
  <div class="controls">
    <select name="tip_stroy">
      <option value="0">выбрать</option>
      <option value="1"{if isset($smarty.get.tip_stroy) && intval($smarty.get.tip_stroy)==1} selected="selected"{/if}>Кирпич</option>
      <option value="2"{if isset($smarty.get.tip_stroy) && intval($smarty.get.tip_stroy)==2} selected="selected"{/if}>Панель</option>
      <option value="3"{if isset($smarty.get.tip_stroy) && intval($smarty.get.tip_stroy)==3} selected="selected"{/if}>Дерево</option>
      ...
      <option value="100"{if isset($smarty.get.tip_stroy) && intval($smarty.get.tip_stroy)==10} selected="selected"{/if}>Другое</option>
    </select>
  </div>
</div>

и все.

есть и минусы - нужно следить за целостностью. т.е. если в аналогичный элемент в модели вы добавите новый тип, то необходимо его же добавить и в шаблоне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

хм а мы сделали по другому, взяли параметр из стадарт сеарч вроде и вставили,вроде работает-и вроде как ищет, посмотрите пожалуйста у нас на сайте - и правильно ли все работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

tip_stroy - это не реальное название, а просто условное имя параметра. В вашем случае оно естесвтенно будет своим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, doma сказал:

взяли параметр из стадарт сеарч вроде и вставили

Значит он вроде мог сущестовать в standart_search. Точнее даже должен был существовать. Я же описал случай когда такого готового хтмля нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 28.08.2017 в 15:24, abushyk сказал:

Значит он вроде мог сущестовать в standart_search. Точнее даже должен был существовать. Я же описал случай когда такого готового хтмля нет.

нет в стандарт сеарч он не существовал это мы его добавили, в том числе  сначала отредактировав файл темплате-сеарч,
как говорится сначала "научили" что и как выбирать -было видео для учебы- и вставили в стандарт сеарч который справа, а потом из правого блока  перенесли на главную форму.

надеемся правильно? все будет работать и не всплывет потом что нибудь случайно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите а как сделать форму поиска на главной с расширенным поиском, дело в том что сейчас есть форма поиска на главной - назовем ее сокращенной,  и в ней есть кнопка "расширенный поиск", в нем будут все те же поля что уже есть плюс дополнительные.
Сейчас дефолтная форма например работает как надо, грузится и город и улицы, но стоит нажать расширенный поиск как  всплывает уже расширенная форма  с нужными например нам параметрами, но уже с ошибками, поля город и улицы уже например не подгружаются.

нам кажется что в расширенном поиске должно быть все нормально при следующем условии,  -  в расширенной форме не должны повторяться параметры которые уже есть уже в дефотлтной форме, и тут должны погружаться только новые параметры которые хочется видеть  в дополнительной форме, то есть к первой форме как бы присоединяются новые параметры, но посмотрев код видим что формирование идет как то иначе.
Сначала идет дефолтная форма, а при нажатиии этот слой скрывается через display none  и как бы подгружается новый слой скрывая при этом первый, но  так как на первом слое уже есть например город и улица -поэтому они во втором слое и не подгружаются.
Следовательно как то надо наверное не замещать а добавлять 2 форму к первой чтобы все работало на отлично?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите а почему не работает модальная форма если вставить ссылку через атрибут 

1 срабатывает
<a href="/raketa" target="_blank">подробнее</p></a>

а вот 2 модалка почему то не срабатывает
     <a data-toggle="modal" data-target="#modalraketa" >ракета</a>

ниже в форме поиска ньюсеарчформ
прописана модальная форрма но почему то она не срабатывет -в чем может быть причина?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас