Chernetskiy

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

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

  • Посещение

  • Days Won

    191

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

  1. В официальном классификаторе, в состав г. Краснодар входит ряд поселков, хуторов, станиц и отделений. К городу и подчиненным населенным пунктам подчинены улицы. Никаких микрорайонов на официозе нет и соответственно в выгрузку на сторонние порталы они приняты не будут. Вывод: придется ручками лопатить всю базу и подключать улицы к микрорайонам, только эти микрорайоны дальше вашего сайта работать не будут. Если такой расклад устраивает, могу скинуть списки подчиненных Краснодару населенных пунктов и улиц.
  2. Для начала у вас в базе SQL должен быть справочник re_raion Если его нет, то смотрим мультик - https://www.youtube.com/watch?v=OQqiKE6cA4I , там всё рассказано и показано, действуем по аналогии. В кратце, вам нужно создать справочник в котором будет колонка-идентификатор с названием raion_id (primary_key, Идентификатор), колонка name (safe_string, название), ну и предпочтительно колонка region_id (select_by_query, Регион) - для связки районов с регионом. Создаем справочник районов (жмём на бочку на панели) Жмем там-же на звездочку и создаем пользовательский справочник, который и будете заполнять. Подключаем его в справочник объектов data, например по аналогии строки city (город), для чего: Заходим в редактор форм, выбираем таблицу data, жмем на "+" (добавить), заполняем соответствующие позиции... таблица - data тип записи - select_by_query название колонки - raion_id название колонки для человека - Район значение по умолчанию - 0 (или индекс района по умолчанию) название таблицы из которой получаем данные - raion название ключа связки - raion_id название переменной - name заголовок строчки в селект-бокс - выбрать район значение строчки в селект-бокс - 0 (или индекс района по умолчанию) хранить значение поля в таблице - галочка далее жмем ОК Вверху админки у вас появилась панель "Пользовательские", в нем "Справочник районов", заходим в него и заполняем позиции или заливаем справочник файлом Эксель. Если будете использовать связанные элементы, в настройках колонки raion_id в таблице (data) можно указать параметр depended=region_id (к которому будет подчинен справочник) соответственно в колонке region_id указать параметр linked=city_id,region_id;raion_id,region_id (подчиненные справочники), этим вы свяжете параметры справочников. Предварительно в общих настройках отключите Aiax Удачи!
  3. Создать в таблице data колонку raion_id, по образцу города (city_id), и в дальнейшем подключить эту позицию в выгрузку и в поиск. Не обязательно менять связку Регион-Город через промежуточную Район, т.к. есть города областного и федерального подчинения, которые у вас не впишутся в последовательность Регион-Район-Город. Просто оставьте Район параллельным справочником, который не будет увязан с другими, но будет использоваться при заполнении объявления, поиске и выгрузке. Хотя, если нужна связка справочников, используйте "связанные элементы" и пропишите связи одних справочников с другими, хоть метро со страной...
  4. А почему-бы поиск вообще не убрать со страницы с деталями объявления? Оставить только ссылку "Назад" или "В поиск". За счет этого соотношение материала по объявлению и постороннего материала на странице будет примерно 60/40. Как вариант, можно еще и добавить полей в детали объявления, карту с местоположением, чем увеличите требуемый размер... до 80-90/10
  5. Есть вопрос, наверное сюда будет ближе к теме. Есть необходимость создания страниц с фреймом, однако его размеры не совсем умещаются в форматирование шаблона Realia (сбоку выводятся агенты, новости и т.п.) Как-бы это всё исключить, чтобы на странице только была основная информация? Если ближе к теме, то ипотечный сервис мне прислал ссылку, которую желательно разместить во фрейме. <iframe width="1024px" height="700px" src="https://unicom24.ru/ipoteka_iframe/?key=psrgeownkatwkimeumbjrrfotnbzxjkc"></iframe> Увы, фрейм по размеру не влазит в формат страницы... Переход на страницу подключается к кнопке "Заявка на кредит" при просмотре объявления, как например здесь - http://urbanus.ru/arenda-kvartir/reg_moskva/okrug_uzao/rayon_severnoe-butovo/ulica_koktebelskaja/dom_11/18736/ , при клике на которую в вышеуказанный фрейм отправляются параметры объявления а ипотечный сервис выдает расчет и одобрение. Можно конечно просто ссылку прицепить на кнопку или в меню, но работоспособность не гарантируется.
  6. А как-бы поиск по ID сделать в отдельной позиции, на панели меню, рядом с кнопкой выбора языка (шаблон Realia)? Думаю там ему будет самое место...
  7. Там среди районов (в списке районов) есть города республиканского подчинения. К ним привязаны подчиненные населенные пункты. Чтобы выгрузка на сторонние сайты работала правильно, эти города должны находиться в районах. Они-же должны находиться и в населенных пунктах, для правильности выбора, например: Феодосия - Феодосия или Феодосия - Коктебель... Если у вас предполагается портал республиканского масштаба, я-бы оставил все населенные пункты. Сегодня не надо, завтра понадобится... там тоже что-то сдают или продают
  8. Там наверное есть смысл в позиции <city>...</city> тоже добавить условие по умолчанию. Многие работаю в рамках одного города и будет удобнее.
  9. Да у меня тоже была такая идея, почему-бы не создать универсальный формирователь файла выгрузки, где обозначаешь название файла, например afyxml, указываешь нужные разделы и позиции согласно требований к файлу, например location... country, region и т.п., подставляешь в поле значение из базы, например country_id, region_id или значение по умолчанию, например Россия, Санкт-Перербург и рядом чекбокс "по умолчанию" и так далее... Тут уж каждый волен будет фантазировать и подгонять файл выгрузки под любые критерии.
  10. Если вас интересует только Крым, то логично будет не устанавливать справочники Страна и Регион, просто укажете в настройках выгрузки страну и регион по умолчанию. Остальные справочники: район (надо создать запись в таблицу data), города и улицы загружайте на свой сайт. Район (raion) пропишите в таблицу data по аналогии Города (city), в дальнейшем его добавите к выбору в Поиск. Районы города (district) думаю вам будут не нужны, можно их отключить и убрать из панели поиска.
  11. Тогда есть смысл улицы загрузить малым списком и включить автокомплит. В таком варианте улицы не будут привязаны к определенному населенному пункту, а с учетом того, что список их большой, в 99% случаев в нем пользователь найдет подходящую улицу. Почему я не привязывал улицы к населенным пунктам в сельской местности... потому, что в файле выгрузки на стронние порталы это не обязательный параметр (для села). Да и как правило, пользователи дублируют адрес в тексте объявления, где и укажут улицу. Чаще всего улиц в селе вообще нет. Функция автокомплита дает возможность пользователю указать свою улицу, если её нет в общем списке. Эту возможность можно отключить дополнительным параметром autocomplete_notappend=1
  12. Есть еще вопрос: зачем вы отклонились от географических наименований в справочнике и расширили его своими, типа Восточный Крым, Большая Алушта, Большая Ялта... ? 1. Туристу это ни о чем не говорит, логичнее использовать стандартный справочник. 2. Если подобные названия попадут в файл выгрузки, порталы недвижимости его не примут и ваши объявления у себя не разместят, поскольку такие наименования им тоже не известны. 3. Привязывая объкты недвижимости к таким географическим названиям, вы создаете проблему не только себе но и посетителям. Мне например не придет в голову, что город Ялта может быть "Большой Ялтой", а соответственно объявления надо искать именно по такому запросу а просто по позиции "Ялта" мне поиск ничего не покажет... вы тем самым растеряете клиентов: продавцы ничего не сдадут/продадут, покупатели ничего толком не найдут. По типам недвижимости в поиске: Если подразумеваете выгружать свои объекты на сторонние порталы, то стоит придерживаться стандартных наименований типов объектов: комната, квартира, пентхаус, таунхаус, дом, коттедж, дача. Другие наименования сторонние порталы не принимают, а объекты типа "Отель" вовсе отнесут в коммерческую недвижимость, что Яндекс не примет а другие площадки перенесут её в коммерческую. Тем самым вы ограничите свои возможности. Логичнее будет привести названия к общепринятым в сфере недвижимости - пансионаты, санатории, гостиницы и отели есть смысл переименовать в комнаты и квартиры, так быстрее найдут. Про санатории и т.п. уже напишите в тексте самого объявления. Усадьбы, частный сектор, мини-отели и т.п. логичнее будет переименовать в дома/коттеджи/дачи ... Пользователю будет удобнее искать и понятнее, что он арендует - комнату, квартиру или дом...
  13. Я-же у вас спрашивал, какой регион вам нужен? По ссылке в моем предыдущем посте я вам скинул ссылку на файлы адресного справочника Крыма. Список улиц там в двух вариантах и каждый вариант предусмотрен под то или иное решение. Более крупный файл улиц предусмотрен для ситуации, если вы настраиваете поиск под связанные элементы ( http://wiki.sitebill.ru ), у вас все адресные позиции будут соответствовать и выбираться исходя из определенных связей и не будет по нескольку одинаковых городов и улиц в одном запросе; Меньший файл улиц не имеет их привязанности к населенным пунктам, условно, в нем все улицы Крыма по одной. При включенном автокомплите, пользователь начинает в строке поиска набирать название улицы (как и другой адресной позиции) и ему выдается ограниченный список подходящих наименований, из которых он и выбирает нужную. Один вариант с другим совместно не работают! Если вы не применяете тот или другой вариант, то при организации поиска у вас будет подгружаться весь справочник в строку поиска (более 3500 позиций), что будет занимать много времени, сервер начнет виснуть а с хостинга вам передадут привет о перегрузке процессора сервера и сначала вежливо попросят сменить тариф хостинга на более дорогой (что не поможет), а при повторении ситуации, ваш сайт заблокируют до устранения причин. Судя по тому, что в список подбора вам лезет по нескольку наименований населенных пунктов и улиц, у вас ни один вариант не настроен. Похоже, что вы загрузили более крупный справочник улиц, в котором одинаковые названия улиц прикручены к разным населенным пунктам. В нем действительно по нескольку населенных пунктов и улиц с одинаковым названием, что требуется для подбора той или иной улицы в том или ином населенном пункте, при условии установленных взаимосвязей справочников через "связанные элементы". На моем сайте такой вариант настроен, можете посмотреть, как это работает.
  14. Если я правильно понял, нужен адресный справочник по Крыму. Он здесь - https://yadi.sk/d/FtPruGC9hY5f8 Просто загрузи файлы в нудные справочники. Справочник улиц в 2-х вариантах - с привязкой к населенным пунктам (кроме улиц в сёлах) и без привязки (он короче и удобен при включенном autocomplete). Позицию Район (для города), думаю вам вообще нет смысла использовать. Адресный справочник и поиск упростить до связки Район (в регионе) - город - улица. Позицию Район (для региона) можно добавить в таблицу data по образцу города, так будет удобнее с поиском. Позицию Регион можно убрать из поиска. Поиск будет работать по варианту: Тип Район Город (нас.пункт) улица
  15. Для начала следует определиться с региональностью сайта - городского, районного формата или шарашить по всей России + зарубежье... О каком регионе идет речь? Закинуть в базу названия стран - регионов - районов - населенных пунктов и улиц вроде больших проблем не составляет... Тут и программировать ничего не надо. Отсюда и определяться с форматом поиска и выгрузки на порталы. Выгрузка нужна для того, чтобы ваши объявления висели не только на вашем сайте, но и о них знал ваш регион, Россия или зарубежье через крупные порталы недвижимости... Реклама - двигатель торговли, но не все порталы могут быть одинаково полезны для вас Во всяком случае, выгрузка в формате Яндекс недвижимости присутствует по умолчанию. Что касается, как вбить достаточно большой регион в базу, то тут могут быть либо готовые решения, либо самостоятельно вводить ручками, выбирая необходимые адресные названия из базы КЛАДР или ФИАС. Всё это размещать можно либо прямо в админке сайта, войдя в тот или иной справочник и вводя поочередно, либо залить заранее подготовленный файл в Экселе, либо импортировать файл в MySQL посредством phpMyAdmin на вашем хостинге. Всё это многократно обсуждалось, с базами поможем, если готового решения не найдете.
  16. Ну это вы батенька напрасно... Пользователи так наваяют, что одну улицу вам напишут в десятке вариантов - с маленькой и большой буквы, с припиской ул. или без неё, с ошибкой, сокращенно, в вариантах "лропснгфцу" и т.п., база улиц вырастет в разы а поиск нужного объекта будет работать через пень-колоду, не говоря о файле выгрузки на сторонние порталы... Лучше сразу залить готовый список и исключить пользователю возможность писать улицу самому. Это-же относится и к другим географическим позициям.
  17. Еще, хотелось-бы прийти к единому знаменателю в адресных справочниках... Форматы выгрузки для Яндекса, ИРР, AVITO, AFY, Mail.ru и прочих пишут либо конкретно: - не надо писать приписки типа область, район, город, улица, проспект и пр.: Московская - Раменский - Раменское - Михалевича, 53; - либо не конкретизируя, указывать или нет, просто приводя пример: Московская область - Раменский район - Раменское - Михалевича ул., 53, а вот прокатит-ли без приписок - не понятно...
  18. Похоже, что в этом месте должно быть что-то типа: if(isset($d['raion_id']) && $d['raion_id']['value_string']!=''){ $ret.='<raion>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['raion_id']['value_string'])).'</raion>'; }elseif($this->getConfigValue('apps.afyexporter.default_raion')!=''){ $ret.='<raion>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_raion')).'</raion>'; }else{ $hasError=true; $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown raion.'; } а после <city>...</city> if(isset($d['district_id']) && $d['district_id']['value_string']!=''){ $ret.='<district>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['district_id']['value_string'])).'</district>'; }elseif($this->getConfigValue('apps.afyexporter.default_district')!=''){ $ret.='<district>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_district')).'</district>'; }else{ $hasError=true; $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown district.'; } if(isset($d['mkrn_id_id']) && $d['mkrn_id']['value_string']!=''){ $ret.='<district_sup>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['mkrn_id']['value_string'])).'</district_sup>'; }elseif($this->getConfigValue('apps.afyexporter.default_mkrn')!=''){ $ret.='<district_sup>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_mkrn')).'</district_sup>'; }else{ $hasError=true; $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown mkrn.'; } Далее про <street>... Районы региона на месте. Районы города, они-же Округа Москвы - на месте. Микрорайоны (районы Москвы) идут тоже в рамках параметра выгрузки, но не все города поддерживаются, это надо уточнять у AFY. Кому надо, могу скинуть описание формата выгрузки для AFY PS: Я не программист, проверьте, может чего накосячил... понаписал следуя логике
  19. Ребяты, заглянул в файл admin.php, который находится в составе модуля выгрузки для AFY и что-то меня посетили смутные сомнения относительно правильности кода, в части выгрузки районов: protected function exLocation($d, $associated_id){ $hasError=false; $logs=array(); $ret=''; $ret.='<location>'; if(isset($d['country_id']) && $d['country_id']['value_string']!=''){ $ret.='<country>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['country_id']['value_string'])).'</country>'; }elseif($this->getConfigValue('apps.afyexporter.default_country')!=''){ $ret.='<country>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_country')).'</country>'; }else{ $hasError=true; $this->exportLog[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown country.'; } if(isset($d['region_id']) && $d['region_id']['value_string']!=''){ $ret.='<oblast>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['region_id']['value_string'])).'</oblast>'; }elseif($this->getConfigValue('apps.afyexporter.default_region')!=''){ $ret.='<oblast>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_region')).'</oblast>'; }else{ $hasError=true; $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown region.'; } $ret.='<raion>'; if (isset($d['mkrn_id]) && $d['mkrn_id]['value_string']!='') { $ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['mkrn_id]['value_string'])); } elseif (isset($d['district_id]) && $d['district_id]['value_string']!='') { $ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['district_id]['value_string'])); } $ret .= '</raion>'; if(isset($d['city_id']) && $d['city_id']['value_string']!=''){ $ret.='<city>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['city_id']['value_string'])).'</city>'; }else{ $hasError=true; $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown city.'; } if(isset($d['street_id']) && $d['street_id']['value_string']!=''){ $ret.='<street>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['street_id']['value_string'])).'</street>'; }else{ if(in_array($associated_id, array(175, 187, 208, 213, 189, 190, 234))){ $hasError=true; $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Street not setted.'; }else{ $ret.='<street></street>'; } } if(isset($d['number']) && $d['number']['value_string']!=''){ $ret.='<house>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['number']['value_string'])).'</house>'; }else{ if(in_array($associated_id, array(175, 189, 216, 187))){ $hasError=true; $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. House number not setted.'; }else{ $ret.='<house></house>'; } } $ret.='</location>'; return array('hasError'=>$hasError, 'xml'=>$ret, 'log'=>$logs); } Похоже, что здесь свалили в кучу разные по смыслу параметры. В частности <raion>...</raion> отвечает за выгрузку параметра Район в регионах, у меня например raion_id, а сюда засунули районы и микрорайоны города... Понятное дело, что районы и микрорайоны должны быть прописаны отдельными позициями. Вот требования к файлу выгрузки: <location> - Родительский элемент для описания адреса <country> - Дочерний элемент тега location. Страна <country>Россия</country> <oblast> - Дочерний элемент тега location. Область (Московская область) Для Москвы - <oblast>Москва</oblast> Для Санкт-Петербурга <oblast>Санкт-Петербург</oblast> <raion> - Дочерний элемент тега location. Район (Ногинский район) <city> - Дочерний элемент тега location. Населенный пункт (Ногинск) <district> - Дочерний элемент тега location. Округ/Район города (Округ для Москвы) Округ для Москвы следует указывать в сокращенной форме, пример: "ЦАО" Район для Санкт-Петербурга пример: "Адмиралтейский" <district_sup> - Дочерний элемент тега location. Район города (Только для Москвы) Арбат <way> - Дочерний элемент тега location. Шоссе <from_mkad> - Дочерний элемент тега location. Расстояние от МКАД в км. <metro> - Дочерний элемент тега location. Метро <get_time_metro> - Дочерний элемент тега location. Время до метро в минутах <get_metro> - Дочерний элемент тега location. Пешком или на транспорте Возможные значения: «t» – транспортом «f» – пешком <street> - Дочерний элемент тега location. Название улицы. <house> - Дочерний элемент тега location. Номер дома. <latitude> - Дочерний элемент тега location. Географические координаты объекта (широта) <longitude> - Дочерний элемент тега location. Географические координаты объекта (долгота)
  20. Смотри здесь - http://www.etown.ru/s/topic/1950-sms-pilot/
  21. Жесть! В личном кабинете на сайте -> Мои объявления, в списке объявлений публикуется цена в рублях. Если цена в валюте, то в скобках по соседству формируется цена в рублях, при условии, что у вас включен Менеджер валют. Скопируйте эту строку из исходника и вставьте в tpl, который отвечает за вывод объявления на той или иной странице. Курс валют придется обновлять ручками или прикручивать модуль от какого-нибудь РосБизнесКонсалтинга (РБК), на котором автоматически обновляются биржевые курсы валют. Но кто сейчас платит по биржевому курсу ? Если у самого не получится, то кидайте заявку в раздел форума Фриланс.
  22. На перспективу, скинул сюда описание настроек автопостинга в Фейсбук и в ВКонтакте, может кому пригодится
  23. Спасибо! Получился удачный вариант Например так
  24. Все таки сам разобрался... Залез в realtymap.js и поправил кусок кода на строках 549-562: _this.map = new ymaps.Map(_this.map_element, {zoom: _this.options.defaultZoom,center: [55.583011, 38.211377],behaviors: behaviors,type : 'yandex#map'});_this.map.controls.add(new ymaps.control.TypeSelector(['yandex#map', 'yandex#publicMap', 'yandex#satellite', 'yandex#hybrid']));_this.map.controls.add('scaleLine');if(_this.options.minimap){_this.map.controls.add(new ymaps.control.MiniMap( { type: 'yandex#map' }, { size: [90, 90] }));}
  25. Шаблон Realia. Надо-бы сменить на главной тип карты на главной с Народной на Схему - по умолчанию, и отключить скролл для мыши. Перечитал вышеописанное, поправить карту при просмотре объявления удалось, а вот на главной так и не нашел где это сделать, код не соответствует вышеописанному, дело до правки файлов js пока не дошло... это единственный вариант?