abushyk

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

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

  • Посещение

  • Days Won

    269

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

  1. Иногда за такое можно нехило отгрести по рукам от владельца парсера-заборщика, вплоть до санкций на выгрузку.))) ПС. Хотя, если не делать этого в промышленных масштабах, то может все будет более безболезненно.
  2. По типам в таблице ассоциаций там примерно получается так. Есть три типа написанные с большой буквы. Нежилые, Дома и участки, Квартиры и комнаты. Это "старые" глобальные типы. При выгрузке я ЦИАН они в каком-то смысле распадаются на более мелкие типы, те, которые втам же указаны названиями с маленькой буквы. Если вы установили ассоциации для своих разделов типами с маленькой буквы, то тогда у вас отпадает необходимость указывать эти типы уже в самом объявлении. Например если вы выберете "Дома и участки", то вам кровь из носу нужно иметь и устанавливать поле "Подтип загородной недвижимости". Но если вы уже установили типы "участок", "дом", "туанхаус", то вы уже как бы обозначили эти подтипы и необходимости в поле "Подтип загородной недвижимости" уже нет. Так же и с коммерческой, которая в глобальном воплощении называется Нежилые, но для нее существуют мелкие типы как кафе, ресторан, автосервис и т.д.
  3. да. когда-то была одна категория Загородное, которая требовала дополнительное поле с подтипами "дома и земельные участки, дом (коттедж), земельный участок, таунхаус, часть дома", но так как этого поля не у всех было, я решил разнести это все по отдельным категориям и убрать общую, что бы не добавлять не всегда нужное поле выбора. Аналогично и Коммерческая. В идеале, приложение выгрузки в ЦИАН должно ставиться следующим образом. Сносится вся ваша модель данных и ставится модель из пакета приложения. вариант нормальный для пустого нового сайта, но не фонтан для такого, где уже есть модель и данные. Поэтому я решил не затирать вашу модель, а просто добавить явно недостающие поля в ручном режиме. Некоторые, относительно которых у меня возникали сомнения в том, что они будут использоваться, я не добавил. Лучше добавить их по мере надобности, чем вбухать 50 полей и попытаться объяснить, что все они нужны. если я уже сюда забрался, на протяжении нескольких часов я сделаю мининастройку используемых под площади полей, что бы можно было легко сменить вшитые значения и закину вас в приложение.
  4. Если такую манипуляцию нужно сделать для формы поиска, то показываю. В файле /main/main.php нашего шаблона содержится строка вида $this->template->assert('structure_box', $Structure_Manager->getCategorySelectBoxWithName('topic_id', $this->getRequestValue('topic_id') ));Она создает список выбора для формы поиска на основании Структуры. Как мы можем видеть, свое значение выбраного топика она черпает из запроса $this->getRequestValue('topic_id')А мы схитрим. Эту строку мы заменим на $tid=intval($this->getRequestValue('topic_id'));if($tid===0){$tid=6163;}$this->template->assert('structure_box', $Structure_Manager->getCategorySelectBoxWithName('topic_id', $tid ));Т.е. мы опросили запрос, если топик у нас никакой не выбран (==0), то мы нагло ставим нужный нам ид категории (6163). Не вмешиваясь в запрос. Если юзер что-то поищет формой поиска, то topic_id в запросе не будет пустой, и мі его не изменим. А если не поищет, то мі сразу предложим ему Дома и дачи. Я вам там вживил єту штуку, поправите себе 6163 на нужную идешку.
  5. Там получается очень веселая ситуация. Сначала вы выгружаете на какие-то порталы + на афи. Потом афи выгружает ваши же объявления на те же порталы. В результате получается море дублей ваших объяв, по которые вы уже и не догадываетесь. Поскольку мультивыгрузкой сейчас начинает заниматься каждый третий портал типа АФИ.
  6. Поле верно называется. Просто из-за схожести имен я на автомате добавил s и в конце поля из модели. Внес вам изменение. По площадям сейчас так: 1) если выгружается проасоциированное как квартира или комната, то используются square_live, square_kitchen, square_all по их прямому смыслу и считается, что они в квадратных метрах. 2) если выгружается проасоциированное как загородное, то - если это участок, то как площадь участка используется land_area - если это что либо иное, то за площадь дома используется square_dom, а за площадь присоединенного участка land_area. Без конвертаций. Т.е. дом в квадратах, участок в сотках. Упомянутое square_unit относится только к выгрузке в АФИ. Циан-выгрузка про нео не знает, так как это не его поле. 3) если это коммерческая, то за общую площадь принимается square_all Согласен, что запутано, и многие перекрещивающиеся-дублирующиеся поля можно было бы унифицировать или снести в настройку, как сделано с площадями в АФИ-выгрузке..
  7. abushyk

    Теги Og Meta Properties

    Стоит. Влияет хорошо. Некоторые сео-команды вообще безапеляционно требуют их. Как только появится возможность внедрения их самим движком, обязательно добавим.
  8. Подправил вам скрипты. Теперь вроде так как нужно. Просмотрите форму.
  9. Это совершенно не связано с выгрузкой. Это раз. Слова "Недостоверная цена" могут означать скорее реально недостоверную цену. Например стоимость аренды 24 бакса в месяц. Была бы кривая валюта, яндекс бы так и написал, учитывая что список допустимых валют у него ограниченный. Валюты у вас в менеджере указаны нормально. Думаю яндекс не берет, так как по дефолту у него аренда считается в месяц. А у вас в выгрузке не указано, что это суточная.
  10. ок {if $similar_data|count>0}<div class="carousel topspecial"> <h2 class="page-header">{$L_SPECIAL_OFFERS}</h2> <div class="content"> <a class="carousel-prev" href="#">Previous</a> <a class="carousel-next" href="#">Next</a> <ul> {section name=i loop=$similar_data} <li> <div class="image"> <a href="{$similar_data[i].href}"></a> {if $similar_data[i].image.image_array|count ne 0} <img src="{$estate_folder}/img/data/{$similar_data[i].image.image_array[0].preview}"> {else} <img src="{$estate_folder}/template/frontend/realia/img/no_foto_270x200.png" class="previewi"> {/if} </div> <div class="title"> <h3><a href="{$similar_data[i].href}"> {if $similar_data[i].city_id.value!=0} {$similar_data[i].city_id.value_string}{if $similar_data[i].street_id.value!=0}, {$similar_data[i].street_id.value_string}{if $similar_data[i].number.value ne ''}, {$similar_data[i].number.value}{/if}{/if} {else} {if $similar_data[i].street_id.value!=0} {$similar_data[i].street_id.value_string}{if $similar_data[i].number.value ne ''}, {$similar_data[i].number.value}{/if} {/if} {/if} </a></h3> </div><!-- /.title --> <div class="location">{$similar_data[i].topic_id.value_string}</div><!-- /.location--> {if $similar_data[i].price.value > 0} <div class="price">{$similar_data[i].price.value|number_format:0:",":" "} {if $similar_data[i].currency_id.value != 0}{$similar_data[i].currency_id.value_string}{/if}</div> {/if} {if (int)$similar_data[i].square_all.value!=0} <div class="area"> <span class="key">{$L_SQUARE}:</span> <span class="value">{$similar_data[i].square_all.value} m<sup>2</sup></span> </div> {/if} </li> {/section} </ul> </div></div>{/if}
  11. Именно при выборе галочки? Даже если это объявление при выгрузке не пройдет валидацию движком и не выйдет в выгрузку?
  12. Для монетизации есть приложение upper. Только не помню точно работает ли оно отдельно от биллинга или нет. Но именно оно добавляет в ЛК кнопку, которая за некоторую мзду обновляет дату на свежую.
  13. top_special.tpl выводится в разных страницах сайта, а "похожие" доступны только в карточке объекта. или вы будете копировать код из него в шаблон карточки?
  14. Отдельной такой функции-кнопки нет. Там само поле date_added меняется при каждом обновлении записи из ЛК.
  15. http://www.etown.ru/s/topic/2228-настройка-заголовка-объекта-title/?p=23111
  16. Для формы поиска я бы просто собрал бы записи из списка городов и регионов и вывел бы шаблоном свой элементик, где бы по клику на название города выставлялся скрытый инпут с системным именем поля Город (city_id). Это еще допустимо. А вот влепить такое на форму правки\добавления - нет.
  17. Не имеет абсолютно никакого значения заканчивается ли такая ссылка слешем или нет. И распознавание каталога по адресу и слешу не происходит - робот читает страницу по ссылке, а не анализирует что-либо по форме ее урла. Само понятие каталога в веб не имеет смысла. Главное, что бы одинаковые адреса со слешем и без оного не дублировались, иначе они будут распознаны как два отдельных. ПС. Хотя чисто интуитивная практика существует заканчивать слешем страницу у которых "есть типа подкатегории и подстраницы" и без слеша концевые страницы, как статься, новость и тд. Но это исключительно фикция. Роботы из этого не делают никаких выводов.
  18. Какой функционал данного меню будет? У меня есть сомнение, что она используется.
  19. 1. Если телефонный номер используется исключительно для показа, а не во всяких приложениях которые работают с номерами, то форматированная запись оправдана. 2. Любой телефон вводится человеком. Заставить его написать форматированную строку - задача не тривиальная. Я свой номер запишу за две секунды в виде ряда цифр, но записать его со скобочками, тире и пробелами вполне легко ставит меня в ступор) 3. Если использовать поле типа mobilephone, то оно поддерживает маску ввода. Но это именно маска ВВОДА! Внутри же номер хранится чистой строкой цифр без форматных украшательств. И выводится так, как есть в БД, т.е. в виде цифр.
  20. {if isset($data.phone.value) && $data.phone.value!=''} {if $data.phone.value|strlen==12} <span><font size="4" color="#008000">т. {$data.phone.value|regex_replace:'/(d{3,3})(d{2,2})(d+)$/':'+${1} (${2}) ${3}'}</font></span><br> {else} <span><font size="4" color="#008000">т. {$data.phone.value}</font></span><br> {/if} {elseif $user_data.phone.value != ''} <span>т. {$user_data.phone.value}</span><br> {/if}
  21. Не. Тогда если $data.phone.value не пусто но меньше или больше 12 знаков оно вообще не выведется.
  22. Это вы только сменили размер и цвет. А то, что я написал - это форматирование набора цифр к виду XXX (XX) XXXXXX
  23. Маска служит для форматирования вводимого значения на форме. Но она не влияет на внутреннее хранения телефона (он хранится в виде цифр и только цифр) и на вывод в карточку.
  24. {if $phs != '' && $phs|strlen==12}{$phs|regex_replace:'/(\d{3,3})(\d{2,2})(\d+)$/':'+${1} (${2}) ${3}'}{/if}где $phs - переменная с номером телефона вида "сплошные цифры". Например (взято из realty_view.tpl шаблона агенси): {if isset($data.phone.value) && $data.phone.value!=''} {if $data.phone.value|strlen==12} <span>т. {$data.phone.value|regex_replace:'/(\d{3,3})(\d{2,2})(\d+)$/':'+${1} (${2}) ${3}'}</span><br> {else} <span>т. {$data.phone.value}</span><br> {/if} {elseif $user_data.phone.value != ''} {if $user_data.phone.value|strlen==12} <span>т. {$user_data.phone.value|regex_replace:'/(\d{3,3})(\d{2,2})(\d+)$/':'+${1} (${2}) ${3}'}</span><br> {else} <span>т. {$user_data.phone.value}</span><br> {/if}{/if}