Leaderboard


Popular Content

Showing content with the highest reputation on 11/13/16 in all areas

  1. 2 points
    abushyk

    Переключатель валют.

    Немного поменял исполнение для проблемы в старте темы. 1. main.php функция frontend_main::getValutesInfo function getValutesInfo(){ $def_currency_id=1; //идешка дефотной валюты, если пользователь еще не выбирал $cache_time=21600; //время жизни файла кеша с инфой о валютах, что бы не выбирать из бд каждый раз наново - 6 часов $cache_file=SITEBILL_DOCUMENT_ROOT.'/cache/valutes_info.txt'; //имя файла с кешем курсов $valutes_info=array(); $valutes_info['courses']=array(); //определяем "текущую" валюту или используем дефолтную $valutes_info['active']=intval($_COOKIE['current_currency']); if($valutes_info['active']==0){ $valutes_info['active']=$def_currency_id; setcookie('current_currency', $def_currency_id, time()+86400, '/'); } //загружаем курсы из кеша или из БД if(file_exists($cache_file) && (time()-filemtime($cache_file))<$cache_time){ $valutes_info['courses']=unserialize(file_get_contents($cache_file)); }else{ @unlink($cache_file); $DBC=DBC::getInstance(); $query='SELECT * FROM '.DB_PREFIX.'_currency'; $stmt=$DBC->query($query); if($stmt){ while($ar=$DBC->fetch($stmt)){ $valutes_info['courses'][$ar['currency_id']]=$ar; } $f=fopen($cache_file, 'w'); fwrite($f, serialize($valutes_info['courses'])); fclose($f); } } if(!empty($valutes_info['courses'])){ foreach($valutes_info['courses'] as $k=>$v){ $valutes_info['courses'][$k]['active']=0; if($k==$valutes_info['active']){ $valutes_info['courses'][$k]['active']=1; } } } return $valutes_info; } 2. В main.php внутри main() загружаем данные в шаблон $this->template->assign('valutes_info', $this->getValutesInfo()); 3. В шапке сайта или другом месте выводим список переключателей <ul class="valute_changer"> {foreach from=$valutes_info.courses item=_course} <li class="valute{if $_course.active==1} active{/if}" data-id="{$_course.currency_id}">{$_course.name}</li> {/foreach} </ul> 4. В файле скриптов шаблона включаем обработку нажатий на переключателе $(document).ready(function(){ $('.valute_changer .valute').click(function(){ var _this=$(this); var id=_this.data('id'); _this.addClass('active').siblings().removeClass('active'); $('.valutes .course_price').hide(); $('.valutes .valute'+id).fadeIn(); $.cookie('current_currency', id, {expires: 1, path: '/'}); }); }); 5. По шаблону вместо вывода обычного цены {$grid_items[i].price|number_format:0:",":" "} {if $grid_items[i].currency_name != ''}{$grid_items[i].currency_name}{/if} ставим блок разных цен, зависимых от выбранной валюты {if intval($grid_items[i].price)>0 && $grid_items[i].currency_id>0} <div class="valutes"> {foreach from=$valutes_info.courses item=_course} <div class="course_price valute{$_course.currency_id}"{if $_course.active!=1} style="display: none;"{/if}>{(($grid_items[i].price*$valutes_info.courses[$grid_items[i].currency_id].course)/($_course.course))|number_format:0:",":" "} {$_course.name}</div> {/foreach} </div> {/if} 6. Красоту добавляем по вкусу. Ниже вариант для реалии ul.valute_changer { list-style: none;margin: 0;display: block;font-size: 12px; } ul.valute_changer li.valute { display: inline-block;padding: 2px 4px;width: 30px;text-align: center;border: 1px solid White;background: #0581b5;color: White;cursor: pointer; } ul.valute_changer li.valute:hover { background: #5db2d6; } ul.valute_changer li.valute.active { font-weight: bold;color: #0581b5;background: White;border: 1px solid #0581b5; }
  2. 1 point
    abushyk

    Переключатель валют.

    оптимально в файл стилей шаблона, что бы они были доступны на всем протяжении страниц. для реалии это либо базовый /template/frontend/realia/css/realia-blue.css либо /template/frontend/realia/css/styles.css (если такой есть)
  3. 1 point
    они и с таким количеством объявлений относятся ко мне хорошо. мой сайт у них выходит на первой странице поиска. http://joxi.ru/ZrJQ01bI1qMoeA я за этим не гонюсь. напускать видимость не мой конек. лучше иметь 150 объявлений актуальных чем 300 фуфела для видимости для меня главное чтобы мне было удобно работать и базу обслуживать.
  4. 1 point
    Это нормально, поскольку поисковик всё равно видит всё и в соответствии с вашими инструкциями в robots.txt решает, показывать клиенту информацию из этих папок / файлов или нет. А в robots.txt доступ к ним запрещен: User-Agent: * Disallow: /admin Disallow: /apps Disallow: /cache Disallow: /cgi-bin Disallow: /ckeditor Disallow: /ckfinder Disallow: /css Disallow: /fotorama Disallow: /inc Disallow: /js Disallow: /template Disallow: /third Disallow: /webstat Disallow: /remind/ Disallow: /getrent/ Disallow: /contactus/ Disallow: /add/ Disallow: /mailbox/ Disallow: /ipotekaorder/ Host: realty-centrum.com Sitemap: http://realty-centrum.com/sitemap.xml
  5. 1 point
    Chernetskiy

    Форма поиска

    В админке меню справа Редактор форм, выбираем таблицу data. Все позиции, касаемые объекта недвижимости настраиваются в ней. В частности, вам надо добавить или активировать позиции floor (этаж) и floor_count (этажность). Можно их оставить с типом safe_string (каждый раз вводить ручками - цифры, и хорошо-бы без ошибок) или выбрать тип записи select_box и в наборе опций установить жесткие значения, например: для Этажей {-2~~подвал}{-1~~цоколь}{1~~1}{2~~2}{3~~3}{4~~4}{5~~5}{6~~6}{7~~7}{8~~8}{9~~9}{10~~10}{11~~11}{12~~12}{13~~13}{14~~14}{15~~15}{16~~16}{17~~17}{18~~18}{19~~19}{20~~20}{21~~21}{22~~22}{23~~23}{24~~24}{25~~25} для этажности: {1~~1}{2~~2}{3~~3}{4~~4}{5~~5}{6~~6}{7~~7}{8~~8}{9~~9}{10~~10}{11~~11}{12~~12}{13~~13}{14~~14}{15~~15}{16~~16}{17~~17}{18~~18}{19~~19}{20~~20}{21~~21}{22~~22}{23~~23}{24~~24}{25~~25} чтобы не писали "1 этаж", "5 этажей", "3 эт." и пр., что будет вызывать ошибки. Не забываем для эначений этаж и этажность установить галочки в позициях Активно в категории... напротив квартир и домов, чтобы это значение не показывалось для участков и прочего, что не имеет строений.