Leaderboard
Popular Content
Showing content with the highest reputation on 11/07/15 in all areas
-
1 pointВ /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 pointХорошо, идем далее. 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 pointvar 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 что бы было куда выводить данные.