metrpro

Участники
  • Публикации

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

  • Посещение

  • Days Won

    15

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

  1. Можно вопрос дилетанта - что мешает добавить к каждому объявлению data параметр типа select_box с указанием статуса? Т.е. если объявления неактивно, то оно вообще нигде не фигурирует в поиске и листингах, а если у него есть какой-то иной статус - типа, "отложено" или "забронировано" - то оно из поиска не пропадает, но при заходе на страницу пользователь уведомлен, что с этой объявой что-то не то. Самое главное - из индекса поисковиков при этом оно не выпадает. Я примерно подобное делал - чтобы и объяву не терять, и людей уведомлять - например, здесь http://metrpro.ru/prodaja-kvartir/3-komn/realty11076/
  2. В запрос Mysql в таблице user или в запросе в Main.php? Был бы благодарен готовому решению или ссылке на подобное решение в каком-нть модуле sitebill
  3. Блин, у меня там все на доработках уже. Вот - template/frontend/realia/main/main.php: private function getAgent($id){ $ret=array(); $DBC=DBC::getInstance(); $query='SELECT COUNT( d.id ) AS _cnt, u.group_id, u.city_id, u.user_id, u.fio, u.profilevk, u.profileok, u.profilefb, u.groupvk, u.groupok, u.groupfb, u.phone, u.imgfile, u.mobile, u.email, u.site, u.skype, u.yac1, u.yac2, u.ofadres, u.vibernum, u.fullinfo, g.name AS group_name FROM `'.DB_PREFIX.'_data` d LEFT JOIN '.DB_PREFIX.'_user u USING ( user_id ) LEFT JOIN '.DB_PREFIX.'_group g USING ( group_id ) WHERE u.group_id<>4 AND d.user_id=?'; $stmt=$DBC->query($query, array($id)); if($stmt){ $ret=$DBC->fetch($stmt); } return $ret; } Передаю все параметры в /userXXX/, включая city_id. Открывается это потом в userinfo.tpl. И там мне надо принять как-то текстовое значение, соответствующее city_id. Но у меня выводится только индекс города. Город: {$agent_info.city_id.value_string}
  4. Дима, у меня вопрос: в таблицу user добавил параметр city_id (скопировал полностью из data). Каким запросом отобразить текстовое значение на странице информации о юзере? Параметр city_id я передаю, но что при использовании .city_id, что .city_id.value_string, у меня отображается только цифровое индексное значение, а не текстовое.
  5. Этот код сам формирует титл из первого предложения описания. В этом его суть
  6. шаблон header, обволакиваете код тегами title и условием, что для страницы или объявления нет мета-титла: <title>{if $meta_title != ''}{$meta_title}{else} ТОТ КОД ЧТО НАПИСАН ВЫШЕ {/if}</title>
  7. Недавно где-то обращался с вопросом про определение, что мы на главной странице - этот вопрос был решен. Теперь стоит вопрос для некоторых ПФ-решений, определить в header.tpl, что мы именно на realty_grid (либо _thumbs, либо _list). Какой параметр проверяем?
  8. Спасибо, теперь все стало нормуль!
  9. Прошу подсказать, где находится функция формирования хлебных крошек - хочу её слегка препарировать, возвращаясь к вопросу про обратный слэш. Спасибо
  10. Все я понял. Содержимое одно, запрос один, но разные урлы и меты. Все нормально будет
  11. Это же стандартная модальная форма, ничего сложного нет. Но идея, конечно, отличная, себе поставлю такую.
  12. Он формируется в шаблоне userlist.tpl Получится вроде этого - агентства недвижимости, застройщики. К каждому пользователю добавлена куча параметров, включая skype, viber и координаты для отображения на карте (застройщики все так оформлены).
  13. Расскажу принцип. 1. В редакторе форм добавил два поля для NEWS - slides и slidecount. У меня slides - это подкаталог в /img/foto/, где лежат соответствующие слайды (например, "001"), а slidecount - количество слайдов. Т.е. все слайды должны быть пронумерованы по порядку 1.jpg, 2.jpg ... X.jpg 2. В news_view.tpl сначала проверяем условие наличия слайдов и при необходимости подключаем фотораму (которая лежит на моём же хостинге в папке /plugins/): {if $news.slides.value != ''} <link href="/plugins/fotorama.css" rel="stylesheet"> <script src="/plugins/fotorama.js"></script> {/if} 3. Ну а дальше заменяем в том же шаблоне место вывода картинки новости на условие: {if $news.slides.value == ''} <img src="{$news.normal_img}" width="80%" alt="" title="" align="center" style="float: none; margin-bottom:15px" /> {else} <center> <div class="fotorama" data-nav="thumbs" data-loop="true" data-keyboard="true" data-maxheight="600" data-allowfullscreen="true" data-width="100%" data-ratio="800/600" data-minwidth="300" data-minheight="200"> <img src="{$news.normal_img}" alt="" title=""> {section name=j loop=$news.slidecount.value} <img src="{$estate_folder}/img/foto/{$news.slides.value}/{$smarty.section.j.index+1}.jpg" alt="" title=""> {/section} </div> </center> {/if} Понятное дело, что для каждой картинки автоматически формируются альты и титлы, но об этом как-нть напишу в разделе SEO. Также по примерно такому принципу у меня устроены и видео-новости (но их, кстати, можно реализовать и через ту же фотораму, просто на неё я наткнулся позже, чем сделал видео).
  14. Зачем так глубоко формировать титл? Не проще его формировать в самом header: {if $data.text.value !=''}{str_replace(array("\r","\n")," ",strip_tags(substr($data.text.value, 0, strpos($data.text.value, '.')))|truncate:100:"")} {else} {$title} {/if} Это небольшой фрагмент автоматического формирования титлов для страниц в header.tpl формата ЕСЛИ есть описание ТО убираем_переводы_строк_и_html_тэги+берем_первое_предложение_до_точки_не_длиннее_100_символов ИНАЧЕ стандартный титл
  15. Все картинки вставляются как стандартный img, красота их отображения - хоть фоторамой, хоть преттифотой - обеспечивается, по сути, css. Поэтому на индексацию это не повлияет, если, конечно, каждой фотографии прописать свои альты и титлы уникальные. И фоторама к тому же не портит адресную строчку своими #prettyphoto - у меня они в индексе иной раз мелькали. Более того - почему вот мне понравилась фоторама - я на её основе сделал для раздела новостей возможность слайд-шоу (пример).
  16. Проблема решена при очередной неделе молчания "поддержки"...
  17. Еще один вектор развития, который лично мне, как пользователю, хотелось бы видеть, это интеграция в социальные сети. Первый шаг по сути уже сделан - для пользователей нескольких сетей добавлена возможность быстрой регистрации/авторизации. Но некоторые системы остались за кадром - yandex и mail.ru - а ведь подключив их можно было бы про ручную регистрацию забыть в 99% случаев. Также есть прекрасные задумки про кросспостинг - только реализовано это пока только для twitter, а как было бы прекрасно подключить сюда fb и vk. Снова хочется напомнить про мобильность - конечно, использование бутстрапа и @media позволяет адаптировать сайт к просмотру на мобильном (после некоторых танцев с бубном, правда) и даже Google говорит - Вах, какой адаптированный сайт! Но дело в том, что сайт при этом НЕУДОБНЫЙ. Т.е. его адаптированность сейчас не даёт прироста клиентов (хотя, может и увеличивает ранжирование для мобильных выдач).
  18. metrpro

    Дубли title

    Вообщем, у меня было решение для предпоследней версии модуля sitemap 1.3.9, сегодня обновил до свежей 1.3.10, вот решение для нее (там изменена процедура формирования УРЛ для карты). 1. Нужен файл /apps/sitemap/admin/admin.php 2. Примерно на 125 строке расположена функция, формирующая вывод файла карты protected function createSitemapFile($file_name, $urls){ 3. Через несколько строк начинается условие проверки каждого УРЛ на наличие в его начале "http://" (т.е. проверяется, абсолютная ссылка или относительная) if(preg_match('/^(http:|https:)/', $u['url'])){ 4. Находим чуть ниже строку $ret.='<loc>'.$u['url'].'</loc>'."\n"; И вместо неё вставляем условие проверки последнего символа (ЕСЛИ последний_символ НЕ "/", ТО выводим урл с "/", ИНАЧЕ оставляем, как есть): if(substr($u['url'], -1) != '/') {$ret.='<loc>'.$u['url'].'/</loc>'."\n";} else { {$ret.='<loc>'.$u['url'].'</loc>'."\n";} } 5. Спускаемся ниже и строку $ret.='<loc>'.$this->site_link.$u['url'].'</loc>'."\n"; Меняем на if(substr($u['url'], -1) != '/') {$ret.='<loc>'.$this->site_link.$u['url'].'/</loc>'."\n";} else { {$ret.='<loc>'.$this->site_link.$u['url'].'</loc>'."\n";} } 6. Все. Чтобы увидеть результат, в НАСТРОЙКАХ \ SITEMAP админки поменяйте время формирования карты сайта (на время). PS: Предупреждаю, что перед этим необходимо все ссылки в шаблонах проставить со слэшем в конце (_view, _grid_thumbs, _grid_list, menu_decorator, ссылки на любые статичные страницы, может еще где найдете), актуализировать disallow в robots.txt (по умолчанию там часть закрытых категорий стоит без слэша), а также настроить 301 редирект в .htaccess: RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301] PPS: Вот, к чему приводит, когда сам сайт причесываешь на слэш в конце каждой ссылки, а в sitemap бардак!!! Каждая страница вгоняется дважды в индекс, что приводит к возникновению большого количества дублей!
  19. В настройках МВ спрашивает пароль - где его брать?
  20. Так, а как вставить комменты в новости и статьи на страницу их просмотра? Стандартный код выдает ошибку, скрипты в конце просмотра убрал
  21. metrpro

    Дубли title

    Всем огромное спасибо за "помощь", проблему удалось решить исключительно путем вставки в двух местах файла /apps/sitemap/admin/admin.php условий проверки последнего символа передаваемого в sitemap URL. Тема мусолилась два месяца, поддержка "на высоте".