Chernetskiy

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

Recommended Posts

Только что, Chernetskiy сказал:

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

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

ЧЕТА так и не поняли :)) почему в одном регионе агенства сбегаются как бешанные собаки а вдругих наоборот -нафиг намэто нужно :))

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


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

ЧЕТА так и не поняли :)) почему в одном регионе агенства сбегаются как бешанные собаки а вдругих наоборот -нафиг намэто нужно :))

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

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


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

Доброго времени суток!

Делаю все как описано Константином, но при наборе в адресной строке 404 ошибка.

Вот код, в main.php

	function main () {
		
		if(!$has_result && $REQUESTURIPATH=='feedtest'){
		$ids_collection=array(546,547);
		
		/*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ 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();
		}

Поставил сразу на функцией main

Но при запросе на сайте 404. Шаблон LP.

Почему он не ловит адрес?

Спасибо

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


Ссылка на сообщение
Поделиться на других сайтах
В 3/9/2018 в 12:31, revtail сказал:

Доброго времени суток!

Делаю все как описано Константином, но при наборе в адресной строке 404 ошибка.

Вот код, в main.php


	function main () {
		
		if(!$has_result && $REQUESTURIPATH=='feedtest'){
		$ids_collection=array(546,547);
		
		/*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ 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();
		}

Поставил сразу на функцией main

Но при запросе на сайте 404. Шаблон LP.

Почему он не ловит адрес?

Спасибо

Сильно высоко поставили код.

Поставьте после этого кода

        if (preg_match('/\/logout/', $_SERVER['REQUEST_URI'])) {
            require_once(SITEBILL_DOCUMENT_ROOT . '/apps/system/lib/system/user/logout.php');
            $Logout = new Logout;
            $Logout->main();
        }

 

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


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

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

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

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

у меня в шаблоне main.php выглядит следующим образом:

<?php //0046b
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);

?>
HR+cPyh2jjwNlWeHRkCZ/QaChzL58cGlhOT00Q+uSYITQdrQ4WmWmbfDMOwTQzamoMK9oNhZkN4p
"ПОГРЫЗЕНО МЫШАМИ"
xdMK

и куда копать? О.о

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


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

у меня в шаблоне main.php выглядит следующим образом:


<?php //0046b
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);

?>
HR+cPyh2jjwNlWeHRkCZ/QaChzL58cGlhOT00Q+uSYITQdrQ4WmWmbfDMOwTQzamoMK9oNhZkN4p
"ПОГРЫЗЕНО МЫШАМИ"
xdMK

и куда копать? О.о

Если сайт работает, то варианты могут быть следующими:

  1. в редакторе выбрана кодировка, отличная от UTF-8
  2. код зашифрован

Если сайт не работает, то печалька :), резервные копии надо было делать.

Решение: скачать установочный дистрибутив и оттуда заменить файл оригинальным

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


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

у меня в шаблоне main.php выглядит следующим образом:


<?php //0046b
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);

?>
HR+cPyh2jjwNlWeHRkCZ/QaChzL58cGlhOT00Q+uSYITQdrQ4WmWmbfDMOwTQzamoMK9oNhZkN4p
"ПОГРЫЗЕНО МЫШАМИ"
xdMK

и куда копать? О.о

Напишите запрос в тикеты в личном кабинете.

Откроем доступ.

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


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

Если сайт работает, то варианты могут быть следующими:

  1. в редакторе выбрана кодировка, отличная от UTF-8
  2. код зашифрован

Если сайт не работает, то печалька :), резервные копии надо было делать.

Решение: скачать установочный дистрибутив и оттуда заменить файл оригинальным

Сайт как ни странно работает :)

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


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

Напишите запрос в тикеты в личном кабинете.

Откроем доступ.

Вона чо Михалыч!!!! Спасибо ща напишу!

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


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

все ништяк, заработало, спасибо огромное!

только вот незадача - ругалось на 

			    header("Content-Type: text/xml");
Warning: Cannot modify header information - headers already sent by (output started at /home/wxxzouog/public_html/template/frontend/realia/main/main.php:1) in /home/wxxzouog/public_html/template/frontend/realia/main/main.php on line 157

Закомментил  "

    header("Content-Type: text/xml");

" - все работает.

проверил в яндекс валидаторе фидов - пишет валидно. только файл фида в результате скачивается  с расширением .html

Вроде работает но на душе как-то неспокойно - должно ж быть в формате .xml

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


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

теперь ругается в основном фиде на

Цитата

Warning: Cannot modify header information - headers already sent by (output started at /home/wxxzouog/public_html/template/frontend/realia/main/main.php:1) in /home/wxxzouog/public_html/apps/yandexrealty/site/site.php on line 29

вернул пока все как было

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


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

а когда закомментировано - в основном фиде ругается на 

Warning: Cannot modify header information - headers already sent by (output started at /home/wxxzouog/public_html/template/frontend/realia/main/main.php:1) in /home/wxxzouog/public_html/apps/yandexrealty/site/site.php on line 29

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


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

а когда закомментировано - в основном фиде ругается на 

Warning: Cannot modify header information - headers already sent by (output started at /home/wxxzouog/public_html/template/frontend/realia/main/main.php:1) in /home/wxxzouog/public_html/apps/yandexrealty/site/site.php on line 29

Это значит что редактор (скорей всего вы редактируете через filezilla) испортил кодировку файла main.php

Для редактирования лучше используйте winscp https://winscp.net/eng/download.php

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


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

Это значит что редактор (скорей всего вы редактируете через filezilla) испортил кодировку файла main.php

Для редактирования лучше используйте winscp https://winscp.net/eng/download.php

ваще блокнотом виндовз редактировал, канонично и по-православному.. :( не пойму в чем дело тогда...

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


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

ваще блокнотом виндовз редактировал, канонично и по-православному.. :( не пойму в чем дело тогда...

Файл вы чем загружали?

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


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

Файл вы чем загружали?

Файлзиллой. да не, с кодировкой все норм, просто похабится заголовок файла - вот такое

Warning: Cannot modify header information - headers already sent by (output started at /home/wxxzouog/public_html/template/frontend/realia/main/main.php:1) in /home/wxxzouog/public_html/apps/yandexrealty/site/site.php on line 29

и дальше идет нормальный фид. :(

 

 

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


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

Файлзиллой. да не, с кодировкой все норм, просто похабится заголовок файла - вот такое


Warning: Cannot modify header information - headers already sent by (output started at /home/wxxzouog/public_html/template/frontend/realia/main/main.php:1) in /home/wxxzouog/public_html/apps/yandexrealty/site/site.php on line 29

и дальше идет нормальный фид. :(

Возможно notepad и косячит кодировку.

Попробуйте notepad++ https://notepad-plus-plus.org/

Я им постоянно пользуюсь.

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


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

Файлзиллой. да не, с кодировкой все норм, просто похабится заголовок файла - вот такое


Warning: Cannot modify header information - headers already sent by (output started at /home/wxxzouog/public_html/template/frontend/realia/main/main.php:1) in /home/wxxzouog/public_html/apps/yandexrealty/site/site.php on line 29

и дальше идет нормальный фид. :(

Тандем FileZilla и Notepad++  проблем не вызывают. В Notepad++ установите кодировку по умолчанию "Кодировка в UTF-8 без BOM"

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


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

ну теперь основной фид не покорежился.

зато ошибка новом фиде 

This page contains the following errors:
error on line 2 at column 1: Extra content at the end of the document
Below is a rendering of the page up to the first error.

Код вот.

			if ( preg_match('/\/logout/', $_SERVER['REQUEST_URI']) ) {
				require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/system/user/logout.php');
				$Logout = new Logout;
				$Logout->main();
			}
			//Выгрузка НеЯндекс
			if(!$has_result && $REQUESTURIPATH=='export/mirkv'){
			
			$ids_collection=array();
			
			/*Собираем коллекцию*/
			$DBC=DBC::getInstance();
			$query='SELECT id FROM '.DB_PREFIX.'_data WHERE mirv=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-ПОДМОДУЛЬ*/
			
			/*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ 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();
			
			}
			//Выгрузка НеЯндекс//

Может уважаемые Гуру подскажут- чо не так?

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


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

ну теперь основной фид не покорежился.

зато ошибка новом фиде 


This page contains the following errors:
error on line 2 at column 1: Extra content at the end of the document
Below is a rendering of the page up to the first error.

Код вот.

Может уважаемые Гуру подскажут- чо не так?

Выведите исходный код в браузере вашего фида и отправьте скриншотом, посмотрим.

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


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

Выведите исходный код в браузере вашего фида и отправьте скриншотом, посмотрим.

Вот

KAxJavqH4No31m[1].jpg

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


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

в 162-й строке - 


			echo $YRE->run_export();

 

Ваш рабочий код вместо этого

/*ЕСЛИ МЫ ПОНЯЛИ ЧТО РАБОТАЕТ 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-ПОДМОДУЛЬ*/

Должен быть таким

			require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/admin/admin.php';
			require_once SITEBILL_DOCUMENT_ROOT.'/apps/yandexrealty/site/site.php';
			$YRE=new yandexrealty_site();

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: 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 а еще не выгружается информация: Лифт: нет; Балкон: нет; Санузел: нет