Chernetskiy

Двойная выгрузка XML Яндекс Недвижимость

Recommended Posts

Озадачился вопросом... Объекты с сайта выгружаются фидом XML Яндекс.Недвижимость в Яндекс и на сторонние порталы. Яндекс и некоторые порталы не принимают объекты зарубежной недвижимости, что сопровождается приветами в отчетах при загрузке фида в Яндекс и на некоторые порталы. Однако ряд других порталов проглатывает зарубежку.

Отсюда вопрос, можно-ли каким-то несложным образом, например сделать дубль модуля yandexrealty, назовем его допустим yandexrealty2, сделать чекбокс в data is_yandexrealty2, произвести некоторые настройки и выгружать объекты в полном составе фидом /мой_сайт.ru/yandexrealty2 ? 

Цель такова, чтобы для Яндекса и некоторых критичных порталов выгружалась только российская недвижимость, в соответствии с требованиями, основным модулем выгрузки, а в некритичные места уходили все объекты, включая зарубежку фидом /yandexrealty2. Вторая цель - небольшая доработка выгрузки на тех порталах, которые принимают формально формат Яндекса, а по сути их требования немного отличаются по части написания адресов или наличием устаревшего параметра Яндекса, который сейчас не обрабатывается.

Как это грамотней сделать?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

A. Распаралеливаем.

Суть распаралеливания состоит в том, что бы сообщить модулю, что мы хотим выгрузить. В штатном режиме он просто получает пинок по соотв. адресу и на основании настроек (чекбоксы отбора, органичения по времени...) делает выборку и выгружает полученное. С версии 1.5.12 в модуль добавился функционал, позволяющий принудительно сообщить приложению набор идешек, которые следует выгрузить.

Делается это следующим образом. В main.php шаблона внутри функции main() мы создаем некий адрес нашей выгрузки - например /export/yandex.common/

if(!$has_result && $REQUESTURIPATH=='export/yandex.common'){
    
}

По обращению на этот адрес мойсайт/export/yandex.common будет происходить нечто в результате чего на выходе будет xml-фид.

Далее мы должны собрать коллекцию выгружаемых ID объектов. Каким образом мы это сделаем - не важно (хоть впишем руками, хоть выберем из БД по какому-то запросу). Скорее всего мы будем выбирать их запросами по критерию.

if(!$has_result && $REQUESTURIPATH=='export/yandex.common'){
    
    $ids_collection=array();

    /*Собираем коллекцию*/
    $DBC=DBC::getInstance();
    $query='SELECT id FROM '.DB_PREFIX.'_data WHERE country_id=2 AND active=1';
    $stmt=$DBC->query($query);
    if($stmt){
        while($ar=$DBC->fetch($stmt)){
            $ids_collection[]=$ar['id'];
        }
    }

}


В данном примере мы определили к выдаче все объекты со страной с ИД=2 и являющиеся активными (active=1) (Это условие добавлено специально, так как если вы управляете набором выгружаемых, то выгрузчик доверяет вам и уже не налагает проверок поверх выбранного вами не по активности, ни по дате, ни по признаку-чекбоксу, как он это делает в штатном режиме. Это требует от вас чуть больше внимательности при сборке коллекции, но зато оставляет большую гибкость в плане возможности подбора). Условия могут быть более произвольными. Запросов может быть несколько или один с использованием UNION. Главное что бы в конце мы наполнили коллекцию $ids_collection набором выгружаемых ID объектов. Формально мы можем хоть в ручную регулировать результат, вплоть до

if(!$has_result && $REQUESTURIPATH=='export/yandex.common'){
    $ids_collection=array(1,3,54);
}

Это маргинально, но допустимо.

Когда идешки собраны, мы можем сообщать их в приложение. Иными словами мы должны вызвать модуль выгрузки и дать ему список ID.

Для этого предназначена функция yandexrealty_admin::setExportedIds()

Осталось определить в какую часть модуля передать эти данные. Яндекс-выгрузка имеет два подмодуля admin и site. Они работают почти одинаково. Самый просто вариант определить какой модуль работает в вашем случае:

1. открываем адрес вашей обычной выгрузки
2. по фтп открываем файл /apps/yandexrealty/admin/admin.php
3. находим в нем строку public function export(){
4. сразу после этой строки добавляем строку echo 1;
5. сохраняем и перегружаем страницу с выгрузкой.
6. сли вместо привычного фида мы получим страницу с ошибкой, значит у нас работает подмодуль admin
7. откатываем пункт 4
если ошибку мы не получили, то работает модуль siteТеперь в нашем перехватчике выгрузки добавим нужные включения

if(!$has_result && $REQUESTURIPATH=='export/yandex.common'){
    
    $ids_collection=array();

    /*Собираем коллекцию*/
    $DBC=DBC::getInstance();
    $query='SELECT id FROM '.DB_PREFIX.'_data WHERE country_id=2 AND active=1';
    $stmt=$DBC->query($query);
    if($stmt){
        while($ar=$DBC->fetch($stmt)){
            $ids_collection[]=$ar['id'];
        }
    }
    
    /*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/admin/admin.php';
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/site/site.php';
    $YRE=new yandexrealty_site();
	/*---КОНЕЦ---ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/
    
    /*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ ADMIN-ПОДМОДУЛЬ*/
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/admin/admin.php';
    $YRE=new yandexrealty_admin();
	/*---КОНЕЦ---ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ ADMIN-ПОДМОДУЛЬ*/

    /*ПЕРЕДАЕМ ID В ВЫГРУЗЧИК*/
    $YRE->setExportedIds($ids_collection);
    
    /*ЗАПУСКАЕМ ВЫГРУЗКУ*/
    header("Content-Type: text/xml");
    echo $YRE->run_export();
    exit();

}

Получив нужные ID выгрузчик просто прогонит их через валидацию и создаст фид. Кеширование выгрузки следует отключить, если вы создаете такие отдельные точки доступа.

Б. Для тех, кто активно перепиливал свои модули в папке apps

Вам понадобится стянуть свежую версию приложения и взять из ее файла admin.php недостающие функции setExportedIds($ids) и измененную collectData(). Если ві меняете путем - запомнил свои правки, обновил, добавил опять свои правки, то будет чуть проще - основные изменения были именно в функциисбора данных - collectData, а ее обычно не меняют.

В. Для тех, у кого есть локализация приложения в папке шаблона

В папке шаблона обычно локализуется site-подмодуль приложения. Поэтому для распараллеливания вам скорее всего придется подключать именно блок

    /*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/admin/admin.php';
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/site/site.php';
	require_once SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/apps/yandexrealty/site/local_site.php';
    $YRE=new local_yandexrealty_site();
	/*---КОНЕЦ---ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/

Все отличие, что мы дополнительно подключаем локализированную часть из папки шаблона и работает с локальным local_yandexrealty_site вместо стандартного yandexrealty_site

 

ПС. Я скорее всего не охватил всего, так что кто будет делать эксперименты с этим пишите сюда и в ПП свои вопросы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
21 час назад, Sitnik сказал:

Все проделано по инструкции, в результате 404 ошибка.

Ну тогда показывайте код, который вы сделали и куда поставили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще не плохо бы знать какой шаблон и насколько давно он у вас, так как некоторые переменные, например та же $REQUESTURIPATH может не присутствовать в нем. А 404 ошибка говорит скорее всего о том, что шаблон не поймал искомый адрес, что косвенно указывает на описанное выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 18.09.2017 в 02:32, abushyk сказал:

A. Распаралеливаем.

Суть распаралеливания состоит в том, что бы сообщить модулю, что мы хотим выгрузить. В штатном режиме он просто получает пинок по соотв. адресу и на основании настроек (чекбоксы отбора, органичения по времени...) делает выборку и выгружает полученное. С версии 1.5.12 в модуль добавился функционал, позволяющий принудительно сообщить приложению набор идешек, которые следует выгрузить.

Делается это следующим образом. В main.php шаблона внутри функции main() мы создаем некий адрес нашей выгрузки - например /export/yandex.common/


if(!$has_result && $REQUESTURIPATH=='export/yandex.common'){
    
}

По обращению на этот адрес мойсайт/export/yandex.common будет происходить нечто в результате чего на выходе будет xml-фид.

Далее мы должны собрать коллекцию выгружаемых ID объектов. Каким образом мы это сделаем - не важно (хоть впишем руками, хоть выберем из БД по какому-то запросу). Скорее всего мы будем выбирать их запросами по критерию.


if(!$has_result && $REQUESTURIPATH=='export/yandex.common'){
    
    $ids_collection=array();

    /*Собираем коллекцию*/
    $DBC=DBC::getInstance();
    $query='SELECT id FROM '.DB_PREFIX.'_data WHERE country_id=2 AND active=1';
    $stmt=$DBC->query($query);
    if($stmt){
        while($ar=$DBC->fetch($stmt)){
            $ids_collection[]=$ar['id'];
        }
    }

}


В данном примере мы определили к выдаче все объекты со страной с ИД=2 и являющиеся активными (active=1) (Это условие добавлено специально, так как если вы управляете набором выгружаемых, то выгрузчик доверяет вам и уже не налагает проверок поверх выбранного вами не по активности, ни по дате, ни по признаку-чекбоксу, как он это делает в штатном режиме. Это требует от вас чуть больше внимательности при сборке коллекции, но зато оставляет большую гибкость в плане возможности подбора). Условия могут быть более произвольными. Запросов может быть несколько или один с использованием UNION. Главное что бы в конце мы наполнили коллекцию $ids_collection набором выгружаемых ID объектов. Формально мы можем хоть в ручную регулировать результат, вплоть до


if(!$has_result && $REQUESTURIPATH=='export/yandex.common'){
    $ids_collection=array(1,3,54);
}

Это маргинально, но допустимо.

Когда идешки собраны, мы можем сообщать их в приложение. Иными словами мы должны вызвать модуль выгрузки и дать ему список ID.

Для этого предназначена функция yandexrealty_admin::setExportedIds()

Осталось определить в какую часть модуля передать эти данные. Яндекс-выгрузка имеет два подмодуля admin и site. Они работают почти одинаково. Самый просто вариант определить какой модуль работает в вашем случае:

1. открываем адрес вашей обычной выгрузки
2. по фтп открываем файл /apps/yandexrealty/admin/admin.php
3. находим в нем строку public function export(){
4. сразу после этой строки добавляем строку echo 1;
5. сохраняем и перегружаем страницу с выгрузкой.
6. сли вместо привычного фида мы получим страницу с ошибкой, значит у нас работает подмодуль admin
7. откатываем пункт 4
если ошибку мы не получили, то работает модуль siteТеперь в нашем перехватчике выгрузки добавим нужные включения


if(!$has_result && $REQUESTURIPATH=='export/yandex.common'){
    
    $ids_collection=array();

    /*Собираем коллекцию*/
    $DBC=DBC::getInstance();
    $query='SELECT id FROM '.DB_PREFIX.'_data WHERE country_id=2 AND active=1';
    $stmt=$DBC->query($query);
    if($stmt){
        while($ar=$DBC->fetch($stmt)){
            $ids_collection[]=$ar['id'];
        }
    }
    
    /*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/admin/admin.php';
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/site/site.php';
    $YRE=new yandexrealty_site();
	/*---КОНЕЦ---ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/
    
    /*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ ADMIN-ПОДМОДУЛЬ*/
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/admin/admin.php';
    $YRE=new yandexrealty_admin();
	/*---КОНЕЦ---ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ ADMIN-ПОДМОДУЛЬ*/

    /*ПЕРЕДАЕМ ID В ВЫГРУЗЧИК*/
    $YRE->setExportedIds($ids_collection);
    
    /*ЗАПУСКАЕМ ВЫГРУЗКУ*/
    header("Content-Type: text/xml");
    echo $YRE->run_export();
    exit();

}

Получив нужные ID выгрузчик просто прогонит их через валидацию и создаст фид. Кеширование выгрузки следует отключить, если вы создаете такие отдельные точки доступа.

Б. Для тех, кто активно перепиливал свои модули в папке apps

Вам понадобится стянуть свежую версию приложения и взять из ее файла admin.php недостающие функции setExportedIds($ids) и измененную collectData(). Если ві меняете путем - запомнил свои правки, обновил, добавил опять свои правки, то будет чуть проще - основные изменения были именно в функциисбора данных - collectData, а ее обычно не меняют.

В. Для тех, у кого есть локализация приложения в папке шаблона

В папке шаблона обычно локализуется site-подмодуль приложения. Поэтому для распараллеливания вам скорее всего придется подключать именно блок


    /*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/admin/admin.php';
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/site/site.php';
	require_once SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/apps/yandexrealty/site/local_site.php';
    $YRE=new local_yandexrealty_site();
	/*---КОНЕЦ---ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/

Все отличие, что мы дополнительно подключаем локализированную часть из папки шаблона и работает с локальным local_yandexrealty_site вместо стандартного yandexrealty_site

 

ПС. Я скорее всего не охватил всего, так что кто будет делать эксперименты с этим пишите сюда и в ПП свои вопросы.

если мы правильно вас поняли  это распаралеливание можно сделать по каждому пользователю ? учитывая его user_id ?  
но получается если пользователь попросит создать ему фид то придется лезть в файл и код и ручками опять шаманить , что может привести к всеобщему сбою поскольку можно где то что то подзабыть поставить например точку запятую кавычки и так далее ?

а нельзя ли например чтобы исключить случайные ошибки сделать в фтп папке файл и назвать его например user-fid и вот в нем уже делать что то и он будет по названию файла привязываться например к определенному юзеру
например
делаем файл user-fid44 и потом во всем файле просто меняем пользовательский айди на 44  и все.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, doma сказал:

что может привести к всеобщему сбою

да, и такое может случиться.

 

3 минуты назад, doma сказал:

сделать в фтп папке файл

в фтп папке точно нельзя. да и файлы сами по себе не работают. все равно его нужно запускать "от сайтбилля", так как он обязательно будет использовать что-либо из системы. или включенные в нем.

 

4 минуты назад, doma сказал:

если мы правильно вас поняли  это распаралеливание можно сделать по каждому пользователю

вообще по любому чиху можно. на самые извращенные требования к набору.

Все равно логика не будет линейной. Вы не сможете просто отдавать фиды вида userNNN.xml, так как вы раскроете все свои объекты, да еще фасованные по юзерам, наружу. Нужно будет как-то определять кто может выгружать, в каком количестве, какой набор (даже тут есть варианты). Это будет все в приложении, но не раньше чем оно будет переписано полность. Сейчас его расширять еще таким уже накладно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, abushyk сказал:

Все равно логика не будет линейной. Вы не сможете просто отдавать фиды вида userNNN.xml, так как вы раскроете все свои объекты, да еще фасованные по юзерам, наружу. Нужно будет как-то определять кто может выгружать, в каком количестве, какой набор (даже тут есть варианты). Это будет все в приложении, но не раньше чем оно будет переписано полность. Сейчас его расширять еще таким уже накладно.

а почему нельзя как то исхитриться и например задействовать что то вроде личного кабинета ? там же выборка уже идет только по объектам пользователя?
может оттуда что возможно использовать?
просто на сайтах конкурентов уже так делают -индивидуальный фид по каждому пользователюю и пользователь может взять свой фид и закинуть в тот же пберклик а к нам на сайт не идут -типа у вас все вручную нафига нам  это надо время тратить

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 24.01.2018 в 01:38, abushyk сказал:

да, и такое может случиться.

 

в фтп папке точно нельзя. да и файлы сами по себе не работают. все равно его нужно запускать "от сайтбилля", так как он обязательно будет использовать что-либо из системы. или включенные в нем.

 

вообще по любому чиху можно. на самые извращенные требования к набору.

Все равно логика не будет линейной. Вы не сможете просто отдавать фиды вида userNNN.xml, так как вы раскроете все свои объекты, да еще фасованные по юзерам, наружу. Нужно будет как-то определять кто может выгружать, в каком количестве, какой набор (даже тут есть варианты). Это будет все в приложении, но не раньше чем оно будет переписано полность. Сейчас его расширять еще таким уже накладно.

Костя и как сделать фид по конкретному пользователю? чтобы в фид входили только объявления определенного пользователя? и только его

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 18.09.2017 в 00:32, abushyk сказал:

Получив нужные ID выгрузчик просто прогонит их через валидацию и создаст фид.

А как мы его получим. Как понять где новый адрес фида сейчас?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите правильно ли я сделал

Создал адрес выгрузки export/yandexru/ в корне сайта

В файле main.php, расположен в/template/frontend/realia/main/main.php, дописал 

if(!$has_result && $REQUESTURIPATH=='export/yandexru'){
    
    $ids_collection=array();

    /*Собираем коллекцию*/
    $DBC=DBC::getInstance();
    $query='SELECT id FROM '.DB_PREFIX.'_data WHERE country_id=1';
    $stmt=$DBC->query($query);
    if($stmt){
        while($ar=$DBC->fetch($stmt)){
            $ids_collection[]=$ar['id'];
        }
    }
	
	/*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/admin/admin.php';
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/site/site.php';
    $YRE=new yandexrealty_site();
	/*---КОНЕЦ---ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/

    /*ПЕРЕДАЕМ ID В ВЫГРУЗЧИК*/
    $YRE->setExportedIds($ids_collection);
    
    /*ЗАПУСКАЕМ ВЫГРУЗКУ*/
    header("Content-Type: text/xml");
    echo $YRE->run_export();
    exit();
}

В admin.php добавил echo 1; фид выгрузился в штатном режиме, без ошибок

Установил время жизни фид 0

Как вызвать новый фид, как его просмотреть, что делать дальше? ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, mykvartira сказал:

Как вызвать новый фид, как его просмотреть, что делать дальше? ))

http://ваш_домен/export/yandexru

 

7 минут назад, mykvartira сказал:

$query='SELECT id FROM '.DB_PREFIX.'_data WHERE country_id=1';

-->

$query='SELECT `id` FROM '.DB_PREFIX.'_data WHERE `country_id`=1 AND `active`=1';

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, abushyk сказал:

http://ваш_домен/export/yandexru

 

-->


$query='SELECT `id` FROM '.DB_PREFIX.'_data WHERE `country_id`=1 AND `active`=1';

 

Исправил. Получаю при запросе /export/yandexru

Forbidden 403

You don't have permission to access /export/yandexru/ on this server.

Почему так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ваш_домен вы поменяли на домен вашего сайта? http сменили на https если у вас используется ssl ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, mykvartira сказал:

http://ваш_домен/export/yandexru

Его куда-то в код нужно было вставлять? что-то запутался

При запросе на сайт по адресу получаю вот что 

2018-01-29_141229.jpg.d92052438e9bb24cada421870a1c4e4b.jpg

Вот мой полный код из main.php

if(!$has_result && $REQUESTURIPATH=='export/yandexru'){
    
    $ids_collection=array();

    /*Собираем коллекцию*/
    $DBC=DBC::getInstance();
    $query='SELECT `id` FROM '.DB_PREFIX.'_data WHERE `country_id`=1 AND `active`=1';
    $stmt=$DBC->query($query);
    if($stmt){
        while($ar=$DBC->fetch($stmt)){
            $ids_collection[]=$ar['id'];
        }
    }
	
	/*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/admin/admin.php';
    require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/site/site.php';
    $YRE=new yandexrealty_site();
	/*---КОНЕЦ---ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ SITE-ПОДМОДУЛЬ*/

    /*ПЕРЕДАЕМ ID В ВЫГРУЗЧИК*/
    $YRE->setExportedIds($ids_collection);
    
    /*ЗАПУСКАЕМ ВЫГРУЗКУ*/
    header("Content-Type: text/xml");
    echo $YRE->run_export();
    exit();
}

https или другими адресами там и не пахнет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
21 минуту назад, mykvartira сказал:

Создал адрес выгрузки export/yandexru/ в корне сайта

ёпта)))

Не надо в корне попок создавать. Это не настоящие папки, это адрес в виде папок))))

Сносите и будет вам счастье. А то сейчас по адресу export/yandexru сервак видит эти папки и пытается в них найти ответ, а там пусто и получаете 403.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, abushyk сказал:

ёпта)))

Не надо в корне попок создавать. Это не настоящие папки, это адрес в виде папок))))

Сносите и будет вам счастье. А то сейчас по адресу export/yandexru сервак видит эти папки и пытается в них найти ответ, а там пусто и получаете 403.

БЛин круто. Уже несколько недель вожусь с этой выгрузкой. Спасибо Константин вам большое за реализацию и помощь. Моя выгрузка работает теперь чисто по России и я безмерно рад.

Надеюсь яша примет мои объявления. УРА УРА УРА

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, mykvartira сказал:

БЛин круто. Уже несколько недель вожусь с этой выгрузкой. Спасибо Константин вам большое за реализацию и помощь. Моя выгрузка работает теперь чисто по России и я безмерно рад.

Надеюсь яша примет мои объявления. УРА УРА УРА

ну тогда с вас подробный отчет что и как сделать -что куда прописать и что и как сделать чтобы и у нас не было дополнительных вопросов.
Сделайте вы плюс пусть сделают на основании вашего разработчики чтобы исключить дополнительные вопросы и было так сказать готовое решение а не куча дополнительных вопросов чтобы не читать потом ветку форума на 60 страницах 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 29.01.2018 в 17:30, mykvartira сказал:

БЛин круто. Уже несколько недель вожусь с этой выгрузкой. Спасибо Константин вам большое за реализацию и помощь. Моя выгрузка работает теперь чисто по России и я безмерно рад.

Надеюсь яша примет мои объявления. УРА УРА УРА

ждем подробностей

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
43 минуты назад, doma сказал:

ждем подробностей

Подробности опишу после выходных, если вспомню)))

Пока яндекс ругается на большое количество не валидных объявлений. Говорит что плохо размещают объявления пользователи, но выгрузка работает. Так что опишу. Всем хороших выходных

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 02.02.2018 в 01:19, mykvartira сказал:

Подробности опишу после выходных, если вспомню)))

Пока яндекс ругается на большое количество не валидных объявлений. Говорит что плохо размещают объявления пользователи, но выгрузка работает. Так что опишу. Всем хороших выходных

ждем подробностей

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Fatal error: Class 'yandexrealty_site' not found in /home/uqirahbm/public_html/template/frontend/real-spaces/apps/yandexrealty/site/local_site.php on line 3

 

Fatal error: Class 'yandexrealty_site_local' not found in /home/uqirahbm/public_html/template/frontend/real-spaces/main/main.php on line 281

 

О чем могут говорить данные ошибки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, 72realty сказал:

 

а можно вопрос о другом? подскажите а в чем плюсы выгрузки ваших объявлений на сторонние сайты ? яндекс наполняете ?

тогда откуда у вас берется так много и так массово объявлений? нежели агентства и риэлторы так активно размещаются на вашем сайте ? неужели в вашем регионе кроме вас никого нет ? что так жадно и так охотно лезут к вам?

почему вопрос возник. почему им именно у вас хочется размещаться а например не напрямую на янтексе

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, doma сказал:

а можно вопрос о другом? подскажите а в чем плюсы выгрузки ваших объявлений на сторонние сайты ? яндекс наполняете ?

тогда откуда у вас берется так много и так массово объявлений? нежели агентства и риэлторы так активно размещаются на вашем сайте ? неужели в вашем регионе кроме вас никого нет ? что так жадно и так охотно лезут к вам?

почему вопрос возник. почему им именно у вас хочется размещаться а например не напрямую на янтексе

Потому, что клиент, разместив объявление на вашем сайте, может получить автоматическую выгрузку своего объявления еще на полсотни порталов за даром или относительно небольшие деньги (всё зависит от жадности админа), он не тратит кучу денег и времени на выяснение списка порталов, заполнение нужных позиций, отслеживание активности, продвижение и т.п. Всё в одном флаконе. А еще клиент попутно заинтересовывает местных агентов продажей своего объекта... С ним наверняка свяжутся и предложат свои услуги, т.е. с его объявлением работают и оно не висит 1001000-м объектом в общей серой массе Яндекса или Авиты, где оно уже через полчаса будет на 10 странице... :)

Панимаешь...?!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Taras001
      Добрый день! Возникла надобность экспортировать объявления в xml в формате Яндекс недвижимость для загрузки на сторонние ресурсы. Ранее такой вопрос не возникал так как мы находимся в Украине, а в связи с событиями более чем трехлетней давности Яндексом народ мало пользуется. 
      Само приложение Яндекс недвижимость установлено, обновлено до последней версии. 
      Всё что выводится в фид: 
      This XML file does not appear to have any style information associated with it. The document tree is shown below. <realty-feed xmlns="http://webmaster.yandex.ru/schemas/feed/realty/2010-06"> <generation-date>2020-09-10T15:24:11+03:00</generation-date> </realty-feed> В чем может быть проблема? 
    • Автор: Chernetskiy
      Наконец-то Яндекс сподобился и объявил (в рассылке) о возможности авторизации на сайтах и в сервисах через Яндекс. Объясняют так: 
      Это часто удобнее, быстрее и безопаснее, чем создавать собственную систему авторизации. Нашу технологию просто внедрить и можно подключить практически к любому сайту. Использование технологии бесплатно. Она даёт значимые преимущества:
      1. Для пользователей — быстрый вход на сайт
      Авторизация Яндекса упрощает доступ к вашему сайту миллионам пользователей, зарегистрированных на Яндексе. Им не нужно придумывать и запоминать ещё один логин и пароль.
      2. Для вас — возможность эффективнее монетизировать свой сайт
      Авторизованный в системе Яндекса пользователь обычно приносит больше денег, чем неавторизованный, благодаря лучшему таргетингу рекламы в Рекламной сети Яндекса.
      Чтобы настроить на своем сайте авторизацию через Яндекс, используйте SDK Яндекс.Паспорта. Инструкции, как установить технологию быстрой авторизации, и документацию вы найдёте здесь.
      Для мобильных приложений доступен мобильный SDK.
      Если при подключении и настройке авторизации возникли сложности, напишите в нашу службу поддержки через специальную форму, мы обязательно поможем.
    • Автор: Дмитрий Кондин
      Для выгрузки объявлений недвижимости в группу Вконтакте вам нужно
      1.       Обновить модуль RSS в CMS Sitebill
      2.       Включить опцию Разрешить RSS для объявлений(apps.rss.enable_realty)
      3.       Скопировать адрес фида rss с объявлениями из Приложения – RSS новостей сайта
      4.       В группе вконтакте в дополнительных настройках включить импорт RSS
      5.       Включить их отображение в виде статей
       
    • Автор: Ramiz95
      Добрый день. Проблема с модулем выгрузки в циан. В отчете о выгрузке ВСЕ объявления отклонены так как не указана площадь дома. Вот  фид загородной недвижимости. Что делать? 
      PS а еще не выгружается информация: Лифт: нет; Балкон: нет; Санузел: нет