pwnz22 10 Жалоба Опубликовано: November 3, 2015 Сделал модальное окно для mapviwer, после выбора области нужно чтобы перешло в обычный вид и с поиском внизу) но кнопка "Искать" не реагирует) а если подключать main.tpl вместо drawregion.tpl выдает ошибку подскажите как исправить?<a href="#example" class="openModal">Открыть модальное окно</a><div id="example" class="modal_window"> <div> {include file='apps/mapviewer/site/template/drawregion.tpl'} <a href="#close" title="Закрыть"></a> </div></div>модалку внес сразу в advanced_search_form.tpl нужно еще результаты в виде grid_list вывести) 1 Richardrap reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: November 3, 2015 адрес сайта? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 3, 2015 http://agentstva.tj Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 3, 2015 Вы включили в модалку только карту. А там смысл такой, что рисуется на карте. Но кроме карты на странице в шаблоне есть еще форма поиска с выбором девиации нарисованного контура, и доппараметрами. Так вот поиск происходит таким образом:1. вы рисуете на карте2. нажимаете искать3. после этого координаты собираются с карты и превращаются в строку, эта строка заносится в скрытое поле на упомянутой форме и уже эта форма запускается на отправку. Так как формы на модалке нет, то естественно submit-событие срабатывает в холостую.Другими словами вам нужно как минимум подставить в шаблон в модалке пусть даже скрытую форму с идешкой searchform и textarea в ней с name=crds. Экшен формы должен направлять на {$estate_folder}/mapviewer/search/Можете увидеть эту форму в /apps/mapviewer/site/template/drawregion.tpl 1 pwnz22 reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 3, 2015 А результаты как вывести снизу? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 5, 2015 Нужен вывод результатов, очень срочно) помогите пожалуйста) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 5, 2015 нет у него результатов как таковых вообще. Это приложение возвращает минимизированные данные, достаточные для нанесения маркеров на карту в формате удобном для скрипта. Максимум, что вы можете - это распилить ункцию самого поиска по карте и перехватить ее ответ, сделать паралельный скриптовый рисовальщик списка. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 5, 2015 нет у него результатов как таковых вообще. Это приложение возвращает минимизированные данные, достаточные для нанесения маркеров на карту в формате удобном для скрипта. Максимум, что вы можете - это распилить ункцию самого поиска по карте и перехватить ее ответ, сделать паралельный скриптовый рисовальщик списка.можете описать данный способ?) и еще вопрос связать карту с главным поиском возможно? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 5, 2015 там все еще хуже. нет там данных при поиске. только координаты и идешка объекта, а данные вообще начинают посылать запрос на получение только при наведении на маркер. т.е. если совершить поиск и не навести ни на один маркер мышку, то никаких данных, кроме геокоординат и ИД в реальности загружено не будет. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 5, 2015 там все еще хуже. нет там данных при поиске. только координаты и идешка объекта, а данные вообще начинают посылать запрос на получение только при наведении на маркер. т.е. если совершить поиск и не навести ни на один маркер мышку, то никаких данных, кроме геокоординат и ИД в реальности загружено не будет.Что делать теперь?) как доделывать (( без результатов в список приложение неочем) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 5, 2015 ну прям таки не о чем. это же "поиск по карте", а не "вывод списка после поиска на карте")))давайте мыслить. сделали мы поиск по карте. в результате стотыщ позиций в ответ. ну маркеры мы нарисовали. как теперь будем рисовать сетку на стотыщ объектов? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 5, 2015 ну прям таки не о чем. это же "поиск по карте", а не "вывод списка после поиска на карте")))давайте мыслить. сделали мы поиск по карте. в результате стотыщ позиций в ответ. ну маркеры мы нарисовали. как теперь будем рисовать сетку на стотыщ объектов?ну например можно как анонс ограниченное кол-во) а вообще объяв столько врядли будет) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 5, 2015 Завтра постараюсь написать. сегодня уже рука не поднимается. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 6, 2015 Что-то я сам запутался и вас запутал. Нормально там получаются данные, в формате эквивалентном как в обычной сетке.Другими словами вам нужно вмешаться в /apps/mapviewer/js/search.js в функции makeSearch()Там, с места success: function(json){ стартует обработка принятых данных.Вам нужно оставить все, что есть в условииif(typeof json == 'object'){ ....}так как там наносятся метки на карту, а в конце того, что внутри этого условия сделать свой цикл, который пройдется по переменной json и средствами jquery создаст сетку из этих данных, которую потом сделает appendTo() к некоторому элементу на странице, который будет расположен в том месте, где нужно вывести сетку. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 6, 2015 Что-то я сам запутался и вас запутал. Нормально там получаются данные, в формате эквивалентном как в обычной сетке.Другими словами вам нужно вмешаться в /apps/mapviewer/js/search.js в функции makeSearch()Там, с места success: function(json){ стартует обработка принятых данных.Вам нужно оставить все, что есть в условииif(typeof json == 'object'){ ....}так как там наносятся метки на карту, а в конце того, что внутри этого условия сделать свой цикл, который пройдется по переменной json и средствами jquery создаст сетку из этих данных, которую потом сделает appendTo() к некоторому элементу на странице, который будет расположен в том месте, где нужно вывести сетку.Что-то у меня с циклом ничего не выходит) есть где нибудь пример?) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 7, 2015 var data_place=$('<table></table>'); //создаем динамическое вместилище в виде таблицыfor(var i = 0, l = json.length; i < l; i++) { var tr=$('<tr><td>'+json[i].id+'</td><td>'+json[i].type_sh+'</td><td>'+json[i].price+'</td></tr>'); // в цикле формируем элементы строк таблицы data_place.append(tr); // добавляем каждую во вместилище}$('#data_place').html(''); // очищаем элемент размещения табличных данных на странице от старых данных$('#data_place').append(data_place); // размещаем свежую таблицу на страницеЭлемент id="data_place" должен быть добавлен на страницу шаблона search.tpl что бы было куда выводить данные. 1 pwnz22 reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 7, 2015 Все вывелось) будем верстать теперь)) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 7, 2015 Подкажите как изображения выводить) +json[i].img[0].preview+так делаю) не получается.... UPD. К сожалению такой вывод сложно сверстать так как хотелось бы) может есть способ вывести данные как на realty_grid_list.tpl? т.е как передать инфу таким образом? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 7, 2015 Хорошо, идем далее. 1/apps/mapviewer/admin/admin.phpфункция __constructв самом конце ее добавляем новую конфигинуif ( !$config_admin->check_config_item('apps.mapviewer.add_grid_html') ) { $config_admin->addParamToConfig('apps.mapviewer.add_grid_html','0','Добавить HTML разметку для объектов на карте',1);}2/apps/mapviewer/admin/admin.phpфункция ajaxподсекция оператора switch с меткой collect_dataПосле строки$res = $grid_constructor->get_sitebill_adv_core( $params, false, false, false, false );добавляем вставкуif(1===intval($this->getConfigValue('apps.mapviewer.add_grid_html'))){ global $smarty; if(file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/apps/mapviewer/site/template/realty_grid_html.tpl')){ $tpl=SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/apps/mapviewer/site/template/realty_grid_html.tpl'; }else{ $tpl=SITEBILL_DOCUMENT_ROOT.'/apps/mapviewer/site/template/realty_grid_html.tpl'; } foreach($res['data'] as $k=>$v){ $smarty->assign('item', $v); $res['data'][$k]['_html']=addslashes($smarty->fetch($tpl)); }}3В папку /apps/mapviewer/site/template добавляем файл с именем realty_grid_html.tpl и содержимым из этой пасты Заходим в админку, в приложение MapViewer что бы новая настройка прописалась в конфиг.После этого мы имеем настройку, при включении которой в данные объектов, выдаваемые на карту будет добавлен служебный элемент _html с содержимым анонсного блока для объекта. Данный элемент будет добавлен к каждому отдельному объекту. В контексте кода с циклом в скрипте, вы сможете аналогично выхватить их через json[i]._htmlЭто наша внутренняя часть. Переходим к внешней. 4/apps/mapviewer/js/search.jsфункция makeSearch Вместо того, что мы вставляли в посте ставим иной кодvar am=$('#activemap_grid');if(am.length==1 && typeof json[0]._html !== 'undefined'){ var str=''; for(var i = 0, l = json.length; i < l; i++) { var html = json[i]._html.replace(/\\'/g, '\''); html = html.replace(/\\"/g, '"'); html = html.replace(/\\0/g, '\0'); html = html.replace(/\\\\/g, '\\'); str+=html; } $('#activemap_grid').html(''); $('#activemap_grid').html(str);}идея такова. Первым делом мы ищем на странице элемент-вместилище с id="activemap_grid". В принципе это может быть как табличный, так и блочный элемент, но, что бы не усложнять, будем считать, что он блочный. При наличии такого элемента наличии подэлемента _html в данных объявления (который будет отсутствовать, если мы например не включили добавленную выше настройку) мы в цикле обходим элементы, собираем их анонсный хтмл и упаковываем в строку. И готовую строку вставляем в наш объект-вместилище. Все практически аналогично предыдущему способу. 5.Адаптация. Шаблон для realty_grid_html.tpl из моей пасты самый общий. Естественно мы захотим что-то поменять, добавить или удалить. Для этого делаем копию файла /apps/mapviewer/site/template/realty_grid_html.tpl в /template/frontend/шаблон/apps/mapviewer/site/template/realty_grid_html.tpl и упражняемся там как хотим. 6. Естественно нам нужно добавить объект вместилище, куда выпадут все наши хтмл от объявлений. Это логичнее всего сделать в файл /apps/mapviewer/site/template/search.tpl или его локальную копию в шаблоне в виде вставки строки<div id="activemap_grid"></div>На него можно придать дополнительные свои классы, но ид у него должен остаться именно этот. 1 pwnz22 reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 7, 2015 класс большое спасибо) с этим разобрались) а как поиск переместить до карты?) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: November 7, 2015 В /apps/mapviewer/site/template/search.tplэто:<div id="activemap_holder" style="position: relative;"><div id="activemap_loading"><span>LOADING...</span></div><div id="activemap" style="width: 100%; height: 500px;"></div></div>блок карты это:<div id="main" class="searchonmap">...</div>блок формы поиска. Можно просто поменять их местами. 1 pwnz22 reacted to this Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 7, 2015 (изменено) И последний штрих. Можно ли связать главный поиск с поиском карты? т.е. если выбрать с поиска параметры а дальше в модальном окне на карте выбрать область и после нажатия на поиск сразу же применился фильтр по заданным параметрам поиска в главном....Если возможно просто скопировать поиск в главном в search.tpl Может я где-то накосячил, но когда фильтруешь результаты поиска в заданной области и если выбрать в параметрах того что нет в этой области получается вечный "Loading..." а нужно чтобы написало "ничего не найдено..." Изменено November 8, 2015 пользователем pwnz22 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 8, 2015 UPD. Хочу добавить строку "Всего найдено" нашел переменную {$_total_records} - но при добавлении в realty_grid_html.tpl она пустая, как исправить?)и еще одна проблемка) не срабатывает перевод по переменным в realty_grid_html.tpl. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pwnz22 10 Жалоба Опубликовано: November 10, 2015 Помогите пожалуйста допилить) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TopRaN 235 Жалоба Опубликовано: November 10, 2015 Пришлите доступ к фтп, поправлю. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах