-
Публикации
3163 -
Зарегистрирован
-
Посещение
-
Days Won
191
Все публикации пользователя Chernetskiy
-
Этот чел с таким-же удовольствием может копировать контакты из объявлений и сливать их желающим, а может и вовсе дублировать ваши объявления на своем сайте и тоже торговать контактами.
-
Пока верим Диме (In good we trust, как на зеленых бумажках) Он как-то сказал, что хрен нас взломаешь, мы не WADA
-
Спасибо, работает!
-
ок
-
Я тут нагуглил несколько вариантов, впихнул их в сборку и теперь есть несколько кнопок вставить изображение, половина из которых не работает, а то, что работает похоже что не загружает изображение на сервер а преобразовывает его в код и сразу встраивает в текст... Там-же на сайте СКeditor'a есть какой-то мутный вариант с CKfinder'ом, но он платный да и что-то там надо настраивать для совместимости, иначе ругается на безопасность.
-
При составлении статей на сайт использую редактор CKeditor. Однако периодически возникает необходимость вставить изображение в статью и тут начинается самое интересное. При клике на кнопку вставить изображение предоставляется выбор на сервере, при клике на который попадаешь на 404 страницу. Приходится вручную грузить изображение на сервер и вставлять вручную путь к нему в редакторе. Эту фигню как-то можно сделать в более привычном варианте - загрузка изображения прямо из редактора и автоматическое подхватывание ссылки на него? Какие будут соображения или может есть какой-то готовый плагин для работы CKeditor'a в файловой структурое сервера?
-
Спасибо, заработало!
-
Константин, сделал как ты предложил и нифига не работает. Площади комнат в выгрузке вообще не появляются: if(!empty($associations) && isset($associations[$data_topic]) && $associations[$data_topic]['realty_category']!=0){ if(!in_array($associations[$data_topic]['realty_category'], array(4, 15, 16, 25))){ if(isset($data_item['square_all'])){ $x=preg_replace('/[^0-9\.,]/','',$data_item['square_all']); $x=str_replace(',', '.', $x); $x=floatval($x); if($x!=0){ $rs.='<area>'."\n"; $rs.='<value>'.$x.'</value>'."\n"; $rs.='<unit>кв.м</unit>'."\n"; $rs.='</area>'."\n"; } } if(isset($data_item['square_live'])){ $x=preg_replace('/[^0-9\.,]/','',$data_item['square_live']); $x=str_replace(',', '.', $x); $x=floatval($x); if($x!=0){ $rs.='<living-space>'."\n"; $rs.='<value>'.$x.'</value>'."\n"; $rs.='<unit>кв.м</unit>'."\n"; $rs.='</living-space>'."\n"; } } if(isset($data_item['room_space']) && trim($data_item['room_space'])!=''){ $field=trim($data_item['room_space']); $parts=explode('/', $field); if(!empty($parts)){ $ret='<room-space><value>'.implode('</value><unit>кв.м</unit></room-space><room-space><value>', $parts).'</value><unit>кв.м</unit></room-space>'; } } if(isset($data_item['square_kitchen'])){ $x=preg_replace('/[^0-9\.,]/','',$data_item['square_kitchen']); $x=str_replace(',', '.', $x); $x=floatval($x); if($x!=0){ $rs.='<kitchen-space>'."\n"; $rs.='<value>'.$x.'</value>'."\n"; $rs.='<unit>кв.м</unit>'."\n"; $rs.='</kitchen-space>'."\n"; } } } } Если сделать по образцу соседних - жилой площади или площади кухни, тогда работает, только, по понятным причинам, выдает белиберду, переиначивая значение площадей комнат из data типа 12/18/20 на 121820 кв.м. Как-бы всё это сделать по фэншую?
-
Автопостинг в социальные сети
topic ответил в Chernetskiy Chernetskiy в Приложения, модули, настройки
Это описывается общая процедура подключения сторонних приложений к социальным сетям, в частности можно подключить модули CMS - Twitter sender и Авторизация через соц.сети. Полученные по инструкции коды надо внести в настройки соответствующих модулей на сайте (Настройки - Twitter sender и Настройки - Авторизация через соц.сети). Предполагалось, что возможно будут модули автопостинга в Фейсбук и в ВКонтакте, но как-то забылось, народ просто установил на сайте кнопки постинга в соцсети, тем и живём. -
К стати про удаление в админке. Была такая ситуация, что агент на сайте разместил полсотни непроверенных объектов и вскоре свалил. Поскольку контакты хозяев были только у него, я решил удалить эти объекты и вот тут началось интересное. Прямое удаление администратором этих объектов оказалось невозможным, их надо сначала перевести на себя (как нового владельца объявлений), а уж затем появилась возможность удалить. Процедура, с учетом количества объявлений, заняла достаточно времени. Надо-бы этот момент упростить и сделать для админа полные права вне зависимости от того, кто владелец объявлений.
-
Константин, не работает. Вставил код туда, где он логически должен располагаться и уже сравнивая с окружающим кодом, понимаю, что много чего не хватает. Похоже еще где-то надо добавить обработку, откуда брать параметр площадей комнат, у нас-же в data не не room-space а room_space :) Пока выглядит так: if(!empty($associations) && isset($associations[$data_topic]) && $associations[$data_topic]['realty_category']!=0){ if(!in_array($associations[$data_topic]['realty_category'], array(4, 15, 16))){ if(isset($data_item['square_all'])){ $x=preg_replace('/[^0-9\.,]/','',$data_item['square_all']); $x=str_replace(',', '.', $x); $x=floatval($x); if($x!=0){ $rs.='<area>'."\n"; $rs.='<value>'.$x.'</value>'."\n"; $rs.='<unit>кв.м</unit>'."\n"; $rs.='</area>'."\n"; } } if(isset($data_item['square_live'])){ $x=preg_replace('/[^0-9\.,]/','',$data_item['square_live']); $x=str_replace(',', '.', $x); $x=floatval($x); if($x!=0){ $rs.='<living-space>'."\n"; $rs.='<value>'.$x.'</value>'."\n"; $rs.='<unit>кв.м</unit>'."\n"; $rs.='</living-space>'."\n"; } } $parts=explode('/', $field); if(!empty($parts)){ $ret='<room-space><value>'.implode('</value><unit>кв.м</unit></room-space><room-space><value>', $parts).'</value><unit>кв.м</unit></room-space>'; } if(isset($data_item['square_kitchen'])){ $x=preg_replace('/[^0-9\.,]/','',$data_item['square_kitchen']); $x=str_replace(',', '.', $x); $x=floatval($x); if($x!=0){ $rs.='<kitchen-space>'."\n"; $rs.='<value>'.$x.'</value>'."\n"; $rs.='<unit>кв.м</unit>'."\n"; $rs.='</kitchen-space>'."\n"; } } } }
-
Сейчас юрист потыкается... Может и программистом станет.
-
Константин, я в постах выше изложил мнение Яндекса по этому поводу: Жилая указывается только для жилой недвижимости, а для участков типа ИЖС и садовые ничего указывать не надо. Для коммерческих земель (сельхозка, промка, лес и т.п.) указывается коммерческая. Соответственно возникала проблема, если указать для участка ИЖС тип Жилая, то этот тип уходит в выгрузку и возникает проблема. Я соответственно поправил этот момент, как указал выше и теперь участки ИЖС и садовые выгружаются без указания типа Жилая. То есть смысл в том, что для участков ИЖС и садовые вообще никакой тип указываться не должен, ни Жилая, ни Коммерческая. Его теперь обделили типом
-
А что изменилось с обновлением data 1.0.1? А-то обновлюсь и непонятно чем закончится
-
Есть вопрос: в data имеется параметр room-space (Площадь комнат), тип записи safe_string, в которой указываем площади комнат помещения например 12/18/20 (так практически на всех порталах). Однако такой формат не выгружается в файл XML для Яндекса. Кроме того, Яша говорит, что этот параметр должен передаваться отдельными тегами для каждой комнаты, в соответствии с их количеством. Как-бы это победить, чего написать в admin.php ? Должно быть так: <room-space> <value>12</value> <unit>кв.м</unit> </room-space> <room-space> <value>18</value> <unit>кв.м</unit> </room-space> <room-space> <value>20</value> <unit>кв.м</unit> </room-space>
-
отсутствует счетчик просмотров квартир
topic ответил в TopRaN Chernetskiy в Приложения, модули, настройки
Ну если им не нужен результат, вам зачем создавать видимость результата для них? Тут ситуация решается по двум направлениям: - дебилам объяснить, что надо сделать чтобы их объявления стали интересны посетителям и соответственно рейтинговыми; - доработать SEO и активно продвигать свой сайт, чтобы он имел популярность и соответственно хоть какие-то просмотры, уж коли вы пытаетесь на этом денег заработать. Помимо этого, есть куча сервисов, которые за минимальную плату обеспечивают многотысячную посещаемость сайта. Что будет вроде как естественным и соответственно повлияет на рейтинг сайта в целом. Главное - не перестараться, чтобы поисковики не заметили это и не выкинули из поисковой выдачи. -
отсутствует счетчик просмотров квартир
topic ответил в TopRaN Chernetskiy в Приложения, модули, настройки
Как работает счетчик - большая загадка, но считает он в несколько раз куда бодрее чем официальная статистика, видимо учитывает посещение роботов, показ в списке на главной и еще хрен знает чего. Если у вас на сайте за сутки официальных просмотров было пару десятков, то согласно встроенного счетчика, у объявлений точно прибавится в общей сумме пару сотен просмотров, Так-что можете не заморачиваться. Если пользователю интересно купить, то ему будет пофигу количество просмотров, не за этим он на сайт заходит. Если вы пытаетесь поднять количество просмотров для продавцов, то им важнее результат... продать! При этом им надо объяснить, что если желаете чтобы ваши объявления пользовались успехом, то пишите подробные описания, грузите реальные и качественные фото, указывайте реальные цены с учетом рыночной ситуации а не ориентируясь на цены Нью-Йорка, Лондона или Дубаи Если объявление хреновое, то они и сами увидят по счетчику, что его не смотрят, т.к. не интересно. Лучше вообще этот счетчик убрать, поскольку он показывает среднюю температуру по больнице. Сейчас реально посетителей и просмотров мало, такова рыночная ситуация. Ну если уж очень интересно заниматься его накруткой, найдите его в базе MySQL и накиньте вручную сколько вам надо или напишите скрипт накрутки и подсадите его двумя-тремя заданиями на крон, пусть накручивает пару раз в сутки по 2-3-5 просмотров. В конце концов, счетчик в data можно перевести на время правки из типа hidden в textarea например и поправить показания прямо в админке, после чего вернуть hidden обратно, а-то продавцы этот момент просекут в случае, если что-то будут сами править. -
Вроде победил В районе 565 строки поправил код: if($this_realty_supertype==self::$EXP_TY_RESIDENTIAL){ $rs.='<property-type>жилая</property-type>'."\n"; }elseif($this_realty_supertype==self::$EXP_TY_NONRESIDENTIAL){ $rs.='<category>земельный участок</category>'."\n"; }elseif($this_realty_supertype==self::$EXP_TY_COMMERCIAL){ $rs.='<category>коммерческая</category>'."\n"; }elseif(isset($data_item['property_type']) && $data_item['property_type']!=''){ $rs.='<property-type>'.self::symbolsClear($data_item['property_type']).'</property-type>'."\n"; }else{ $errors[]=$data_item['id'].' DECLINED: Supertype unknown'; continue; } Собственно, добавил 2 и 3 строки. Теперь в ассоциациях для участков ИЖС и садовых выбираем "Нежилая" или пустое значение и выгрузка работает правильно, без указания типа жилая или коммерческая, примерно так: <offer internal-id="116"> <category>земельный участок</category> <type>продажа</type> <url>http://realty-centrum.com/uchastki/dlya-ijs/kurovskoe-0/</url> <creation-date>2016-08-31T20:13:11+03:00</creation-date>
-
Блин, похоже не тот кусок кода, но основная мысль не меняется Пока участки выгружаются, если указать тип недвижимости - жилая, иначе никак.
-
Что-то я подумал, может в районе 560 строк, где идет указание на категорию жилая или коммерческая добавить обработчик для существующей нежилой ($EXP_TY_NONRESIDENTIAL), чтобы участки показывались без указания категории, чтобы было <category></category>: if($data_item['price'] > 0 AND $data_item['city'] !== ''){ $count++; $rs.='<offer internal-id="'.(int)$data_item['id'].'">'."\n"; $data_topic=$data_item['topic_id']; $this_realty_supertype=intval($associations[$data_topic]['realty_type']); if($this_realty_supertype==self::$EXP_TY_RESIDENTIAL){ $rs.='<property-type>жилая</property-type>'."\n"; }elseif($this_realty_supertype==self::$EXP_TY_COMMERCIAL){ $rs.='<category>коммерческая</category>'."\n"; }elseif(isset($data_item['property_type']) && $data_item['property_type']!=''){ $rs.='<property-type>'.self::symbolsClear($data_item['property_type']).'</property-type>'."\n"; }else{ $errors[]=$data_item['id'].' DECLINED: Supertype unknown'; continue; } В результате, можно будет указать для участков с ИЖС и садовых категорию нежилая (что логично) и в выгрузку не будет лезть жилая, что может восприниматься принимающей стороной как ошибка. Как это правильно прописать?
-
Для правильной выгрузки рубля в цене, если указывается на сайте символом ₽ (вставляется правым alt+8), чтобы соответствовал в выгрузке RUR, примерно в 2000 строке добавил: if(preg_match('/\₽/i',$currency_string)){ return 'RUR'; } if(preg_match('/\₽\;/i',$currency_string)){ return 'RUR'; } Проверьте, если \ и / указал неправильно, далёк я от этого...
-
И еще, в строке примерно 2222 указано: $form_data['data']['floor_covering']['select_data'] = array('0' => 'не выбрано', '1' => 'паркет', '2' => 'ламинат', '3' => 'ковролин', '4' => 'колинолеумвролин'); последний параметр должен быть 'линолеум', то есть так: $form_data['data']['floor_covering']['select_data'] = array('0' => 'не выбрано', '1' => 'паркет', '2' => 'ламинат', '3' => 'ковролин', '4' => 'линолеум');
-
в admin.php некорректно указан параметр renovation, заполнил как надо (примерно 2132 строка): $form_data['data']['renovation']['select_data'] = array('0' => 'не выбрано', '1' => 'евро', '2' => 'дизайнерский', '3' => 'частичный ремонт', '4' => 'хороший', '5' => 'с отделкой', '6' => 'черновая отделка', '7' => 'требует ремонта' ); Соответственно в data тоже этот параметр надо поправить.
-
Если кому интересен вывод в фиде названия агентства и ссылка на него, в контактах к каждому объявлению, то сделал так (примерно 974 строка): if($exporter_type=='a'){ $rs.='<category>agency</category>'."\n"; $rs.='<organization>ЦЕНТР НЕДВИЖИМОСТИ</organization>'."\n"; $rs.='<url>http://realty-centrum.com</url>'."\n"; Работает. А если еще и нужна выгрузка фото агента с каждым объявлением, то добавил примерно в 922 строке следующее: $rs.='<photo>http://realty-centrum.com/img/data/user/'.self::symbolsClear($user['imgfile']).'</photo>'."\n"; Вроде тоже работает.
-
Попутно обратил внимание в admin.php, примерно 1455 строка, непонятно что в формировании параметра window-view делает параметр floor-covering, может чего не понимаю? if(isset($form_data_shared['window_view']) && isset($data_item['window_view']) && $data_item['window_view']!=''){ if($form_data_shared['window_view']['type']=='select_box' && intval($data_item['window_view'])!=0 && isset($form_data_shared['window_view'] ['select_data'][$data_item['window_view']])){ $rs.='<window-view>'.self::symbolsClear($form_data_shared['floor_covering']['select_data'][$data_item['floor_covering']]).'</window-view>'."\n"; }elseif($form_data_shared['window_view']['type']!='select_box' && $data_item['window_view']!=''){ $rs.='<window-view>'.self::symbolsClear($data_item['floor_covering']).'</window-view>'."\n"; }