abushyk

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

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

  • Посещение

  • Days Won

    269

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

  1. В robots.txt User-Agent: * Disallow: *&page=*Disallow: *?page=*И не паримся про текст на второй и следующих страницах Суть непопадания в индекс не в том, что бы текст не показывался, а в том, что бы робот его не читал. И вот сокрытие текста является только одним из вариантов избавления робота от возможности прочитать текст наравне с запретом индексирования страниц которые "не первая".
  2. да может даже нет смысла шифровать. если будет умный парсер работать, то он и сам расшифрует.
  3. Базовая заготовка будет иметь примерно такой вид: в main.php перехватчик if(preg_match('/^devcompany(\d+)/', $REQUESTURIPATH, $matches)){$this->getDevCompanyHTML($matches[1]);$this->template->assert('devcompany', $this->getDevCompany($id));$this->template->assert('main_file_tpl', 'devcompany_view.tpl');$has_result=true;}в нем же функция-генераторfunction getDevCompanyHTML($id){$data=array();$DBC=DBC::getInstance();$query='SELECT.....';тут или прямо выбрать из БД или поднять модель, которая выберет свои данные (зависит от "сложности" модели объекта компании)return $data;}и сам шаблон devcompany_view.tpl с разметкой, которая оформит данные возвращенные из getDevCompanyHTML в какую-то карточку. Это для варианта, когда есть отдельная страничка объекта. А если через аякс, то почти так же, только перехватчик переедет из main.php в local_ajax_server.php и вернет чуть другой формат данных. Ну а в списках объявлений добавить ссылку вида<a href="{$estate_folder}/devcompany{$grid_items.идешка_компании}">{$grid_items.имя_компании}</a>
  4. Да нет, мысль-то очень здравая. Там где мне приходится много находиться в админке я почти всегда добавляю нужные мне фильтрационные параметры "от себя". Так как многие технический операции по сменам статуса, переносам параметров очень часто выполняются над большими группами объектов которые отфильтровываются по специфичным параметрам. Все упирается в то, что мы тут даже по вопросу элементов поиска на публичной форме не можем выработать общего решения, так как концепции у сайтов разные. А в админке, по логике, функционал поиска должен быть еще более мощным, чем на фронте)
  5. Понял))) внутри этой портянки перед строкой {elseif $data_item.name eq "fio"} добавьте строку {elseif $data_item.name eq "extended"} Полчится условие, что при выводе левой колонки код, дойдя до поля расширенного описания, опознает его, ничего не сделает и пойдет дальше. Этот вывод не может быть включен в сам код, так как это именно шаблонная штучка и в шаблоне определяется как будет показан тот или иной параметр.А движек выдает данные в самом универсально простом формате, что бы их могли использовать как шаблоны, так и другие приложения, которым важен будет именно неформатированный номер. Да и в том же шаблоне вывод телефона может быть как 222-33-44 а может быть и как <a href="tel:2223344">222-33-44</a>так что логичнее выдавать более простой вариант отображения.
  6. Можно использовать вызов Grid_Constructor::get_sitebill_adv_core из /apps/system/lib/frontend/grid/grid_constructor.php или его локального аналога. Но это довольно толстая функция и, если нужно давать много результатов, то лучше может быть создание своей по аналогии с ней, только выкинув явно ненужные вещи из нее. Но в целом она как раз формирует некий подготовленный набор. Просто возвращает его немного не в том виде. Так что как минимум обертка вокруг нее, которая возьмет данные от нее, очистит от лишних и выдаст в виде массива.
  7. Вы как доделаете, дайте ссылку на сайт, я хоть посмотрю, как это на живом выглядит.
  8. /template/frontend/realia_mod/realty_grid_thumbs.tpl {if $itcount==4} </div> <div class="row"> {assign var=itcount value=1} {/if} 4 замените на 5
  9. нет. у реалии немного специфичный концепт верстки и левая - большая часть экрана составляет 9\12. Каждый блок объявки должен по ширине тогда составлять 1\4 от 9\12 и при этом быть кратным 1\2. Если блоков три, то один блок - 1\3*9\12=3\12 - т.е. четверть полосы. А если 4, то 1\4*9\12=9\48, что не кратно 1\12. Из этого следует, что не меняя сам принцип в реалии для разметки блоков ничего сделать не выйдет. Можно в списках вместо <div class="row"> использовать <div class="row-fluid"> и увеличить количество блоков в строке на 1. Тогда они станут по 4, но у меня есть сомнение в адекватном отображении, так как блочки, при некоторых размерах экрана могут стать совсем узенькими. Короче тут только экспериментировать.
  10. По этому блоку. if(_this.version=='2.1'){_this.map = new ymaps.Map(_this.map_element, {zoom: _this.options.defaultZoom,center: [23.937149,49.886672],behaviors: behaviors,type : _this.options.yandexMapType,controls: ['zoomControl', /*'typeSelector',*/ 'fullscreenControl']});Давайте, что бы вы не лепили свою кастомную версию файла, мы его чуть перепишем. if(_this.version=='2.1'){ var controls=[]; if(_this.options.fullscreenControl){ controls.push('fullscreenControl'); } controls.push('zoomControl'); controls.push('typeSelector'); _this.map = new ymaps.Map(_this.map_element, { zoom: _this.options.defaultZoom, center: [23.937149,49.886672], behaviors: behaviors, type : _this.options.yandexMapType, controls: controls });}else{......И тогда фуллскрин нужно будет просто передавать параметром fullscreenControl из шаблона var RM=new RealtyMap('2.1');if(loc_objects.length==0){ RM.initGeocoded('property-map', rname, map_type, {defaultZoom: 16, yandexMapType: 'yandex#map', fullscreenControl: true});}else{ RM.initJSON('property-map', loc_objects, map_type, {defaultZoom: 16, yandexMapType: 'yandex#map', fullscreenControl: true});}
  11. Все зависит от конкретной ситуации. Вот от этого сообщения и ниже рассматривался частный случай схожий с вашим.
  12. <div class="noverview-full"> {if $data.text.value != ''} <p align="justify">{$data.text.value}</p> {if $data.extended.value != ''} <!-- вот важное условие, которое выведет горизонталку только еcли есть расширенный текст --> <hr> <p align="justify">{$data.extended.value}</p> {/if} {/if}</div>А если нет расширенного, то и горизонтальная не выведется.
  13. Всегда мы говорили, что поле view_count и учет в него не несет полезной информации.))) Специализированные сервисы дают намного больше разной и полезной инфы. Встроенный счетчик просто считает заходы на объявку.С учетом сессии. Но если у вас ходит бот, то он обычно не имеет сессии и будет накручивать счетчик. Создавать свой сервис, что бы хотя бы сдублировать кроху функционала метрики или гугля просто нет никакого смысла. Есть только один способ рационального применения этого поля, даже не учета в него, а именно применения - явное выставление туда количества нужных просмотров, что бы смотивировать человека большой цифрой в ней. Все.
  14. Это вы нашли комментарии HTML. Они комментируют в том смысле, что просто скрывают со страницы. Например <!-- скрытый комментарий -->такое не будет видно в браузере, но если открыть исходный код страницы или прочитать страницу парсером или ботом, то слово "скрытый комментарий" будет найдено. Обычно такие комментарии применяются для технического комментирования, в том куске что вы показали, ими обозначены куски страницы и ее элементов для читабельности разметки. Комментарии вида {* скрытый комментарий *} - это комментарии Смарти - шаблонизатора. Суть их в том, что они обрабатываются на сервере, а не в браузере. Так что эти комменты до браузера не дойдут вообще и никто не увидит их никак. Вот и вся разница. ПС. <* {if $smarty.session.user_id eq ''} *>а вот таких тегов в хтмл вообще не существует, так что браузер выводит это as is.
  15. с маркерами не ошибка. агенси базовый шаблон и там обычно держится что-то общее для всех шаблонов. именно поэтому его лучше не удалять даже если вы работаете на другом шаблоне.
  16. Ориентироваться на урл вообще плохо, так как он может измениться. В каких-то конкретных случаях может и можно, но не очень надежно.
  17. Грубо говоря да. Но нужно будет изменить вызовы var RM=new RealtyMap(); на var RM=new RealtyMap('2.1'); в шаблонах /template/frontend/realia/realty_grid.tpl и /template/frontend/realia/realty_view.tpl Должно сработать.
  18. 1) да 2) нет. условия сами по себе исключающие, так что можно и двумя блоками if 3) не нормально)пропустил)) 4) скорее следует читать как "из этой переменной вы можете получить даже те значения, которые по правилам видимости не доступны текущему смотрящему пользователю." 5) $data.topic_id.value - толстым выделено системное имя поля из модели data. Подставляя туда нужное системное имя из Редактора форм, можно получить доступ к нужному полю данных. 6) {if $data.topic_id.value==30 && $data.city_id.value==1} - если нужно условие И {if $data.topic_id.value==30 || $data.city_id.value==1} - если нужно условие ИЛИ
  19. abushyk

    Убрать /news

    Речь о "красивых" адресах новостей? Наверное никак. Подуровень там сделан для гарантированного случайного неперекрытия урлов.
  20. Я бы рад, но в упор не могу вспомнить хоть один сайт, где выводились статьи на главную. Если вспомню, то дам ссылку.
  21. А в само поле Описание данного пункта структуры вставить этот текст не получится?
  22. Для вывода конкретной статьи можно применить хак. getColumnArticles() которая формирует колонку статей, может принимать аргумент - идешку раздела статей. Если у вас в БД в таблице re_articles есть уже колонка articles_topic_id, которая служит для хранения идешек разделов новостей, то туда можно вставить идешку несуществущего раздела только для нужной статьи. И тогда $this->template->assert('articles_column_block', $AA->getColumnArticles()); заменить на $this->template->assert('articles_column_block', $AA->getColumnArticles(тут числовая идешка "несуществующего" раздела)); а эта функция, если ей передать идешку, будет по ней фильтровать. так как в єтом "разделе" у нас будет числиться только одна статья, при чем именно та, что нужно, то в колонку попадет только она. Если что, это я придумал вот тут прям на ходу, так что с первого раза может и не сработать)))
  23. Указать для вывода в колонку 1 штуку статей в настройках и подправить шаблон column.tpl что бы выводился только анонс+ссылка. Формат даты: {$articles_column_item.date.value} -----> {$articles_column_item.date.value|date_format:"d-m-Y"}
  24. Я так понимаю, что вариант "удалить вложенные комнатные разделы" лучше не предлагать? )))
  25. Да, примерно туда. Но только вставить каждую цену в отдельный блок илив один общий, но с отличным от основной цены классом. Потому что там абсолютное позиционирование и они просто сложатся у вас один под другой. Или добавлять их внутрь <div class="price">....</div>