abushyk

Модераторы
  • Публикации

    4036
  • Зарегистрирован

  • Посещение

  • Days Won

    269

Все публикации пользователя abushyk

  1. Настройками на этой карте никак. Вы могли бы утащить файл /apps/system/template/iframe_map.tpl под этим же именем в папку вашего шаблона и в нем уже произвести "тонкую" настроку способа отображения карты и маркеров, но в опубликованной версии пока нет функционала под такое. Будет с 3.3.8 или могу добавить вручную - сам функционал уже как бы есть, но я пока не понимаю как поступить с настройками. Утаскивать целый шаблон ради двух настроечек как-то заслишком. Настройки ГеоДата касаются элемента выбора координат с картой на форме объявления.
  2. За альт я даже не спорю. Его наличие нужно не только для поисковиков, но и для людей, которые по каким-то соображениям отрубают картинки при просмотре страницы - тогда они хоть видят какое-то описание, что там могло быть на этой картинке.
  3. оффтоп. я вот ради интереса загнал в поиске по картинкам в гугле запрос "домик у моря". в выдаче в первой десятке "осмысленное" название файла картинки только у картинки в 8-й и 10-й позиции. дальше какого-то преобладания осмысленных названий над неосмысленными тоже не наблюдается.
  4. тут это не вариант. подразумевается игра на упреждение, что бы не давать к выбору геолокации в который в данный момент нет объектов. но проблема тут в том, что даже в том случае это будет неполное решение, так как на форме есть и другие параметры отбора. и даже если на локации есть объекты, то остальные выбранные фильтры могут исключить их их финальной выборки. в принципе оптимальным тут будет заведение поля с числом объектов на объекте локации, например в модели улица поле "К-во объектов", куда периодически пересчитывать эти самые количества. А для применения на форме поиска уже в процессе раоты менять запрос на выборку улиц с условием дополнитеольным, которое будет откидывать улицы с нулевым этим полем.
  5. Линк-менеджер работает ТОЛЬКО со списками объектов. Ни статьи, ни новости, ни жк через него запустить НЕЛЬЗЯ. Все параметры, которые указываются в PARAMS применяются для выборок объектов. Провести юзера можно, как отметил Игорь Иванович параметром фильтрации user_id и идешкой его, но в результате будет не какая-то абстракная "страница пользователя", а именно выборка объектов по указанному пользователю.
  6. Далеко не всё и не всегда хостеры позволяют менять из того, что хотел бы менять юзер. Движек пытается ставить настройки "на лету", как например с временной зоной. Если такой вариант не разрешен хостером, такая настройка не сработает, но может ставиться посредством правки htaccess файла, опять же, если это разрешает хостер.
  7. Да. Пока обїявление не является неактивным по своему свойству Публиковать/Активно в карту сайта оно будет попадать. Так же на попадание в карту сайта не влияет "погашенность" раздела, в котором оно находится. Для исключения из карты сайта, но сохранения доступа, Игорь Иванович написал правильный подход.
  8. Используйте {$currency_list} в шаблоне формы. С какой-то версии движек сам готовит этот селект и вам нужно его только вставить.
  9. По менюшке навигации. Я приаттачил свежий меню декоратор для реалии. Забекапьте свой файл /template/frontend/realia/main/realia_menu_decorator.php и попробуйте поставить мой. Если станет норм, тогда можете попробовать отрубить <link rel="stylesheet" href="{$estate_folder}/template/frontend/{$current_theme_name}/css/jqueryslidemenu.css" type="text/css"> <script type="text/javascript" src="{$estate_folder}/template/frontend/{$current_theme_name}/js/jqueryslidemenu.js"></script> realia_menu_decorator.php
  10. Значит у вас версия разметки меню еще из тех самых первых. https://realty-centrum.com/template/frontend/realia/js/realia.js InitPriceSlider(); в 5-й строке сделайте //InitPriceSlider(); и после этого отключите скрипт с курренси.
  11. Дело в том, что этот скрипт нагло требует при лоаде на ретине копию КАЖДОЙ картинки в специальном размере, включая и фотки объектов и прочий юзерконтент. А его нет, что производит каскадный рост ошибок в консоли.
  12. А проверьте в phpMyAdmin состояние таблицы re_session. Нет ли у нее пометки "повреждена" или "заблокирована"?
  13. <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,300&subset=latin,cyrillic' rel='stylesheet' type='text/css'> Эту строку, раз уж взялись за оптимизацию, так же было бы неплохо убрать из наружной cdn в ссылки на копии файлов шрифтов на сервере. Тут нужно поискать в гугле как правильно локализовать шрифтики из общедоступных cdn гугля.
  14. Вместе с уборкой последнего, можно убрать и блок {literal} <!--[if lte IE 7]> <style type="text/css"> html .jqueryslidemenu{height: 1%;} /*Holly Hack for IE7 and below*/ </style> <![endif]--> {/literal}
  15. Этот спокойно: <script type="text/javascript" src="{$estate_folder}/template/frontend/{$current_theme_name}/js/retina.js"></scri Этот кажется тоже. Он присутствовал в исходной реалии, но как-то применить его в связке с сайтбиллем н вышло: <script type="text/javascript" src="{$estate_folder}/template/frontend/{$current_theme_name}/js/jquery.currency.js"></script> Этот скорее всего тоже. И выше его брат в виде включения файла стилей <script type="text/javascript" src="{$estate_folder}/template/frontend/{$current_theme_name}/libraries/bootstrap-fileupload/bootstrap-fileupload.js"></scrip В зависимости от исполнения шаблона так же могут быть убраны (есть более старый вариант на этой библиотеке и более новый, которому они не нужны) (этот скрипт обслуживает верхнее навигационное меню разделов которое с выпадашками подразделов) <link rel="stylesheet" href="{$estate_folder}/template/frontend/{$current_theme_name}/css/jqueryslidemenu.css" type="text/css"> <script type="text/javascript" src="{$estate_folder}/template/frontend/{$current_theme_name}/js/jqueryslidemenu.js"></script>
  16. Способ всплывания картинки и ее переключения всегда на любителя. Понятия "правильно" и "как надо" в общем смысле не существует, зависит от видения. На реалии были варианты и такой как сейчас у вас, и такой, как вы описываете. Но пока вы сами не определились как надо, никто не сможет помочь.
  17. Как и писал Игорь Иванович, в realty_grid.tpl ближе к концу есть <div class="sidebar span3"> <h2>{$LT_SEARCH}</h2> {include file='search_form.tpl'} <br/> {include file='right_special.tpl'} </div> это правая колонка. По условию {if intval($smarty.get.page)==$_max_page} {/if} можно определить, что мы находимся на последней из возможных страниц. соотв. по нему можно что-то показать или не показать. например если баннеры включены в этой же странице, то их вывод можно обернуть как {if intval($smarty.get.page)<$_max_page} тут выводим, а вне этого условия нет {/if} если же баннер например включаются не сразу тут а в search_form.tpl, тогда в єтом условии можно сделать передачу параметра во включаемый файл {if intval($smarty.get.page)<$_max_page} {include file='search_form.tpl'} {else} {include file='search_form.tpl' hide_banners=1} {/if} и тогда уже во включенном файле проверить {if $hide_banners==1} и тогда их не вывести, а в остальных случаях вывести.
  18. В помощь тому, кто возьмется делать (пример на базе realia). 1. в main.php шаблона столбим адрес обработчика if ( !$has_result && $REQUESTURIPATH=='tables' ) { // выбираем текущий гриддер $grid_constructor = $this->_getGridConstructor(); //собираем параметры из запроса. это нуно толко для того что бы взять из запроса страницу или если используются сортировки-фильтровки $params=$this->gatherRequestParams(); //жестко ставим юзера-владельца $params['user_id']=intavl($_SESSION['user_id']); //указываем страницу отсчета $params['pager_url']=$REQUESTURIPATH; // собираем список $res = $grid_constructor->get_sitebill_adv_ext( $params, false, false ); //гоу в шаблон $this->template->assign('tables_grid_items', $res); //указываем кастомный макет и шаблон вывода списка $this->template->assert('main_file_tpl', 'realty_grid_tables.tpl'); $work_subcontroller='tables'; $has_result=true; } 2. В main.php дополняем блок $layouts новым макетом (в realia layout_full.tpl - это макет на всю ширину страницы без предустановленных колонок. т.е. вывод в этот макет будет на всю ширину сайта) 'tables'=>'layout_full.tpl' 3. Создаем realty_grid_tables.tpl Основой может быть тот же шаблон ЛК, только вместо $grid_items используем $tables_grid_items Ориентировочный пример <table class="content_main table" cellspacing="2" cellpadding="2"> <tr class="row_head"> <td width="1%" class="row_title">{$L_DATE}</td> <td width="1%" class="row_title">{$L_ID}</td> <td width="1%" class="row_title">{$L_PHOTO}</td> <td width="70" class="row_title">{$L_TYPE}&nbsp;<a href="{$url}&order=type&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=type&asc=desc">&uarr;</a></td> <td width=13% class="row_title">{$L_CITY}&nbsp;<a href="{$url}&order=city&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=city&asc=desc">&uarr;</a></td> <td width=13% class="row_title">{$L_DISTRICT}&nbsp;<a href="{$url}&order=district&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=district&asc=desc">&uarr;</a></td> <td width=13% class="row_title">{$L_STREET}&nbsp;<a href="{$url}&order=street&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=street&asc=desc">&uarr;</a></td> <td class="row_title" nowrap>{$L_PRICE}&nbsp;<a href="{$url}&order=price&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=price&asc=desc">&uarr;</a></td> <td class="row_title">{$L_FLOOR}</td> <td class="row_title">{$L_SQUARE} м<sup>2</sup></td> {if $admin !=''} <td class="row_title"></td> {/if} </tr> {foreach name=i from=$tables_grid_items item=tables_grid_item} <tr valign="top" class="row3{if isset($tables_grid_item.export_cian) && $tables_grid_item.export_cian==1} cianexported{/if}" {if $tables_grid_item.active == 0}style="color: #ff5a5a;"{/if}> <td><b><a href="{$tables_grid_item.href}">{$tables_grid_item.date}</a></b></td> <td><b><a href="{$tables_grid_item.href}">{$tables_grid_item.id}</a></b></td> <td align="center"> {if $tables_grid_item.img != '' } <a href="{$tables_grid_item.href}"><img src="{$estate_folder}/img/data/{$tables_grid_item.img[0].preview}" width="50"></a> <!-- img src="{$estate_folder}/img/hasphoto.jpg" border="0" width="16" height="14" /--> {/if} </td> <td><b>{$tables_grid_item.type_sh}</b></td> <td>{$tables_grid_item.city}</td> <td>{$tables_grid_item.district}</td> <td>{$tables_grid_item.street}</td> <td nowrap><b>{$tables_grid_item.price|number_format:0:",":" "} {if $tables_grid_item.currency_name != ''}{$tables_grid_item.currency_name}{/if} {if $tables_grid_item.currency != 'RUR'}({$tables_grid_item.price_ue} {$L_RUR_SHORT}){/if}</b></td> <td>{$tables_grid_item.floor}/{$tables_grid_item.floor_count}</td> <td>{$tables_grid_item.square_all}/{$tables_grid_item.square_live}/{$tables_grid_item.square_kitchen}</td> {if $admin !=''} <td nowrap> <a class="btn btn-small btn-info" href="{$estate_folder_control}?do=edit&id={$tables_grid_item.id}"><i class="icon-white icon-pencil"></i></a> <a class="btn btn-small btn-danger" onclick="return confirm('{$L_MESSAGE_REALLY_WANT_DELETE}');" href="{$estate_folder_control}?{if $topic_id != ''}topic_id={$topic_id}&{/if}do=delete&id={$tables_grid_item.id}"><i class="icon-white icon-remove"></i></a> </td> {/if} </tr> {/foreach} {if $pager != ''} <tr> <td colspan="11" class="pager">{$pager}</td> </tr> {/if} </table>
  19. так не получится. карта принимает набор маркеров под вывод на себя. после их простановки, она вычисляет область занимаемую всеми выведенными маркерами и вписывает ее в блок карты и таким образом показываемая область зависит от нанесенных маркеров, что бы все оно оказались в видимой области.
  20. 1. все обяъявления в базе принадлежат одному юзеру и юзер этот админ? (от того зависит можно ли использовать функционал ЛК или нет) 2имхо. табличные верстки как раз самые неудачные для просмотров на небольших экранах
  21. в принципе можно выключать часть правой колонки для "последней" страницы. но вы сами верно подметили, что первая может быть и последней. возможно будет иметь смысл часть из боковушки перенести в основное тело или под обе колонки (левую и правую), тех же агентов или випы.
  22. Если вас устраивает молчаливый режим, когда оно будет записывать в базу то, что удастся выжать числового из переданного значения, то можно только базой. Если же это поле вам важно и вы хотите что бы юзер получал предупреждение при попытке задать "левое" значение, тогда лучше rules и Type:int. Последний способ отличается только тем, что по нему проходит проверка значения и, если оно неформат "5 сот.", "5.0", "пять соток" то форма будет возвращена на дозаполнение. А изменение формата поля в БД приведет к тому, что значение будет принято всегда, но вот в БД останется только то, что подходит под формат колонки в базе "5 сот."=>"5", "5.0"=>"5", "пять соток"=>"0", тогда как rules будут заворачивать форму до тех пор, пока пользователь не введет реальное целое число. И,что главное, rules не изменяют переданные значения, а только обуславливают их формат и соотвествие ему (кроме decimal который с крайней версии будет вместе с проверкой еще и заменять запятую в числе на точку). Т.е. речи об осмысленном вырезании нет ни в одном из этих случаев. ПС. Я долго боролся с человеками подсказаками при заполнении и в результате проставил rules на выжных для меня полях расстояний и площадей + выставил форматы колонок в БД на соотв. (это из соображений экономии памяти, така как числовой формат более худой, быстроты сортировки, так как сортировка по числам лучше и адекватнее чем по строкам, и потому что у меня много данных идет с парсеров и прогонять их через сложные проверки с созданием объекта формы не всегда выгодно по производительности).
  23. Вы никогда не сможете достоверно определить есть ли там пустота или нет. В зависимости от ширины экрана, даже при наличии, эта пустота будет разной. В общем я не знаю даже, есть ли смысл с таким бороться. Если человек долистал до последней страницы, то с боковой колонкой он уже ознакомился прокручивая предыдущие. Так что даже если хвост боковушки канул за край экрана, на последней странице это не страшно.