Recommended Posts

В таблицу дДата добавил currenсy, в менеджере валют 4 валюты, 3 из них активна, 1 валюта по умолчанию и не активна. Как убрать выбор валюты которая не активна? 

2018-01-18_193037.jpg.de671649ebd0cf58738de5b813fe04fc.jpg

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


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

Получается если я обзову белорусские руб. то будет правильно отображаться?

С вероятностью близкой к 100%

Действительно если указать белорусский руб. то получаем валюту BYR, но:

Такой валюты нет в международной реестре т.е. она сейчас называется BYN. Где можно  прописать эти значения? Чтобы показывало BYN! Где можно прописать значение для системы что Бел.руб это есть BYN для выгрузки в яндекс (Хотя выгрузка в Белоруссии больше не работает), но мало ли пригодится.

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


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

1. В настройках валют

2. В admin.php модуля yandexrealty, где прописаны сопоставления наименований на сайте валютам в выгрузку, типа евро или € - EUR

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


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

Такой валюты нет в международной реестре т.е. она сейчас называется BYN

Точно. Я совершенно упустил момент ее смены летом 2016 года.

Тогда вам нужно еще временно в файлах 

\apps\yandexrealty\admin\admin.php

\apps\yandexrealty\site\site.php

найти строку

if(preg_match('/белорусский/i',$currency_string)){
return 'BYR';
}

и заменить на

if(preg_match('/белорусский/i',$currency_string)){
return 'BYN';
}

 

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


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

Точно. Я совершенно упустил момент ее смены летом 2016 года.

Тогда вам нужно еще временно в файлах 

\apps\yandexrealty\admin\admin.php

\apps\yandexrealty\site\site.php

найти строку


if(preg_match('/белорусский/i',$currency_string)){
return 'BYR';
}

и заменить на


if(preg_match('/белорусский/i',$currency_string)){
return 'BYN';
}

 

Спасибо за помощь.

В /apps/yandexrealty/admin/admin.php

Добавил для Белоруссии

if(preg_match('/белорусский/i',$currency_string)){
				return 'BYN';
			}
			if(preg_match('/бел.руб/i',$currency_string)){
				return 'BYN';
			}

Теперь система понимает значение бел.руб

 

Так же можно выполнить с любой валютой. Мало ли пригодится

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


Ссылка на сообщение
Поделиться на других сайтах
if(preg_match('/бел.руб/i',$currency_string)){

измените на 

if(preg_match('/бел\.руб/i',$currency_string)){

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

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


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

Либо навесить чекбокс выгружаемости только на российские объявления, либо завести свой адрес и на нем распараллеливанием, собрать только российские объекты. В самом приложении ограничить так не выйдет.

А как сделать вывод только для России чрез чекбокс или как завести свой адрес для выгрузки в яндекс?

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


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

А как сделать вывод только для России чрез чекбокс или как завести свой адрес для выгрузки в яндекс?

Варианты:

  1. прописываем в data чекбокс is_yandexrealrty и кликаем на него только на российских объектах недвижимости;
  2. додумать обработчик в admin.php модуля yandexrealty, который будет определять страну и если Россия, то объект уходит в выгрузку, иначе - нет и пофиг будет кликнули на чекбокс выгрузки в объявлении или нет;
  3. ограничиться вариантом 1, т.к. выгрузка уходя в Яндекс всё равно будет обработана и загрузятся только российские объекты а остальные нет, вам сообщат об ошибке адреса как причине незагрузки объявления.
  4. по п.1 установить видимость чекбокса для админа/модератора, он сам решит что выгружать а что нет.

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


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

Варианты:

  1. прописываем в data чекбокс is_yandexrealrty и кликаем на него только на российских объектах недвижимости;
  2. додумать обработчик в admin.php модуля yandexrealty, который будет определять страну и если Россия, то объект уходит в выгрузку, иначе - нет и пофиг будет кликнули на чекбокс выгрузки в объявлении или нет;
  3. ограничиться вариантом 1, т.к. выгрузка уходя в Яндекс всё равно будет обработана и загрузятся только российские объекты а остальные нет, вам сообщат об ошибке адреса как причине незагрузки объявления.
  4. по п.1 установить видимость чекбокса для админа/модератора, он сам решит что выгружать а что нет.

Спасибо, думаю 2й вариант это единственно правильное решение. Только разобраться как его реализовать. Буду позже смотреть код. Спасибо за подсказку 

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


Ссылка на сообщение
Поделиться на других сайтах
/***********************LOCATION***************************/
				$rs.='<location>'."\n";
				
				$country=trim($this->getConfigValue('apps.yandexrealty.country_global'));
				if($country==''){
					if(''!=trim($this->getConfigValue('apps.yandexrealty.country_from'))){
						$country_from=trim($this->getConfigValue('apps.yandexrealty.country_from'));
					}else{
						$country_from='';
					}
						
					if($country_from!='' && isset($data_item[$country_from])){
						$country=$data_item[$country_from];
					}else{
						$country=$data_item['country'];
					}
				}
				
				if($country==''){
					$errors[]=$data_item['id'].' DECLINED: Country unknown';
					continue;
				}else{
					$rs.='<country>'.self::symbolsClear($country).'</country>'."\n";
				}

Скорее всего это здесь! Но что подставить, АЙди страны? И куда? 

Как я понимаю здесь отправление идет по всем, но можно указать нужную страну. Подскажите плиз!!!

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


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

/***********************LOCATION***************************/
				$rs.='<location>'."\n";
				
				$country=trim($this->getConfigValue('apps.yandexrealty.country_global'));
				if($country==''){
					if(''!=trim($this->getConfigValue('apps.yandexrealty.country_from'))){
						$country_from=trim($this->getConfigValue('apps.yandexrealty.country_from'));
					}else{
						$country_from='';
					}
						
					if($country_from!='' && isset($data_item[$country_from])){
						$country=$data_item[$country_from];
					}else{
						$country=$data_item['country'];
					}
				}
				
				if($country==''){
					$errors[]=$data_item['id'].' DECLINED: Country unknown';
					continue;
				}else{
					$rs.='<country>'.self::symbolsClear($country).'</country>'."\n";
				}

Скорее всего это здесь! Но что подставить, АЙди страны? И куда? 

Как я понимаю здесь отправление идет по всем, но можно указать нужную страну. Подскажите плиз!!!

Здесь, упрощенно, речь идет о том, что если страна указана в объявлении, то выгружаем её в фид. Если не указана, то выгружаем значение по умолчанию из Настройки -> Выгрузка Яндекс.Недвижимость -> Единое название страны.

Тут надо продумать более приемлемые варианты обработчика:

  • Дописать обработчик в модуль выгрузки, который исходно будет определять страну в объявлении и решать, выгружать-ли это объявление включая все остальный параметры.
  • Отдельный обработчик, который должен будет изначально определять список выгружаемых объявлений по ID страны и уже нужные обрабатывать через модуль выгрузки. 
  • Доработать функционал чекбокса is_yandexrealty, к которому прикрутить ограничения на выгрузку по id страны - проще говоря, он будет решать прописывать-ли в таблицу re_data признак активности для выгрузки - 1 или 0
  • Отдельный обработчик, который будет лопатить базу и заменять признак активности is_yandexrealty в базе запуском этой функции перед выгрузкой (может автоматически - кроном), особенно, если производится загрузка через файл Эксель или парсер. А дальше модуль выгрузки будет выгружать в стандартном режиме и без всяких доработок модуля выгрузки.

Стучись к Константину, он подскажет более приемлемое направление.

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

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


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

Здесь, упрощенно, речь идет о том, что если страна указана в объявлении, то выгружаем её в фид. Если не указана, то выгружаем значение по умолчанию из Настройки -> Выгрузка Яндекс.Недвижимость -> Единое название страны.

Тут надо продумать более приемлемые варианты обработчика:

  • Дописать обработчик в модуль выгрузки, который исходно будет определять страну в объявлении и решать, выгружать-ли это объявление включая все остальный параметры.
  • Отдельный обработчик, который должен будет изначально определять список выгружаемых объявлений по ID страны и уже нужные обрабатывать через модуль выгрузки. 
  • Доработать функционал чекбокса is_yandexrealty, к которому прикрутить ограничения на выгрузку по id страны - проще говоря, он будет решать прописывать-ли в таблицу re_data признак активности для выгрузки - 1 или 0
  • Отдельный обработчик, который будет лопатить базу и заменять признак активности is_yandexrealty в базе запуском этой функции перед выгрузкой (может автоматически - кроном), особенно, если производится загрузка через файл Эксель или парсер. А дальше модуль выгрузки будет выгружать в стандартном режиме и без всяких доработок модуля выгрузки.

Стучись к Константину, он подскажет более приемлемое направление.

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

Честно говоря думал намного проще. типо указать из какой страны ID грузить объявления и все. 

if($country==''){
					if(''!=trim($this->getConfigValue('apps.yandexrealty.country_from'))){
						$country_from=trim($this->getConfigValue('apps.yandexrealty.country_from'));
					}else{
						$country_from='ID=1';
					}

Указал ID 1 и все, обработчик будет делать выборку, только по этой стране. Буду разбираться

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


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

Х.з., попробуй (предварительно сделай копию) но не думаю, что прямо в лоб это прокатит. Если что, откатиться не проблема.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: TopRaN
      В sitebill есть кластерная карта которую можно подключить через iframe
      <iframe src="{$estate_folder}/js/ajax.php?action=iframe_map&{$QUERY_STRING}" style="border: 0px;" border="0" width="100%" height="500px"></iframe> Карта просто замечательная.
      но в данной карте цена выводится целиком. Задача разделить саму цену на тысячи и добавить валюту.
      Решение.
      идем по адресу /apps/system/js файл activemap.js .  примерно 256 строка. находим содержимое
      block.find('.ActiveMapListBlock-item-price').text(data.price); и заменяем на 
      block.find('.ActiveMapListBlock-item-price').text(data.price.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ')); сразу после нее добавляем следующее
      block.find('.ActiveMapListBlock-item-currency').text(data.currency_name); теперь карта понимает валюту и делит цену на тысячи. Осталось все это вывести в шаблон
      идем по адресу /apps/system/template файл iframe_map.tpl
      содержимое 
      <a class="ActiveMapListBlock-item-link" target="_blank" href=""> <div class="ActiveMapListBlock-item-image"> <img src="{$estate_folder}/img/no_foto.jpg"> <div class="ActiveMapListBlock-item-id"></div> </div> <div class="ActiveMapListBlock-item-description"> <h3 class="ActiveMapListBlock-item-title"></h3> <div class="ActiveMapListBlock-item-price"></div> <div class="ActiveMapListBlock-item-address"></div> <div class="ActiveMapListBlock-item-text"></div> </div> </a> меняем на это
      <a class="ActiveMapListBlock-item-link" target="_blank" href=""> <div class="ActiveMapListBlock-item-image"> <img src="{$estate_folder}/img/no_foto.jpg"> <div class="ActiveMapListBlock-item-id"></div> </div> <div class="ActiveMapListBlock-item-description"> <h3 class="ActiveMapListBlock-item-title"></h3> <div class="ActiveBlockHalf"> <div class="ActiveMapListBlock-item-price"></div> <div class="ActiveMapListBlock-item-currency"></div> </div> <div class="ActiveMapListBlock-item-address"></div> <div class="ActiveMapListBlock-item-text"></div> </div> </a> далее в конце файла добавляем стили
      .ActiveMapListBlock-item-price, .ActiveMapListBlock-item-currency { float:left; } .ActiveBlockHalf { display:inline-block; font-size: 18px; font-weight: 700; } .ActiveMapListBlock-item-price { padding-right: 5px; } и все результатом будет
       

    • Автор: Realtor
      Добрый день всем,

      необходимо создать поэтажный справочник цен за кв.м.  к приложению Жилые комплексы с привязкой к определенному жилому комплексу.
      в справочнике указывается цена кв.м.  и цена кв.м. по акции привязанная к жилому комплексу и этажу и срок(дата) действия акции.
      при выводе цен в таблице data рассчитывается общая площадь умножаем на цену кв.м. из справочника в зависимости от указанного этажа объекта и получаем общую цену объекта. В случае если указана цена по акции и удовлетворяет сроку действия акции, то перечеркивается общая цена и показывается с значком Акция акционная цена объекта. 
      Предложения по цене разработки в личку.
       
       
    • Автор: mykvartira
      Интересный момент. Хотел поинтересоваться у разработчиков. Изменение цены вызвано с запланированной скидкой в 20%?
      Заметил такой момент ранее приложение статьи, твиттер стояли 500р, и такая же цена осталось в цсм в вкладке обновления, а вот на сайте цена уже 900р.
      Может это связанно с супер разработкой в этом приложении, так сказать прорыв... Но изменение цены в 90% - это сильно.
      Это конечно не единственные модули в которых поднялась цена. Может стоит подождать и купить приложения без скидки, по старым ценам?
    • Автор: Realtor
      Неплохо бы для сайта на главной создать платный модуль:
      1. виджет Средних цен на квартиры в разрезе районов, материала стен, комнатность и т.д., т.е. создать конструктор для такого типа виджета.
      С сохранением средних значений помесячно в таблицу для архива и с показом их на графике.
      С исключением из расчета средней цены квартир у которых - евроремонт, hitech ремонт, эксклюзивный ремонт, мебель, спецплан
      2. Виджет минимальной цены и максимальной цены на квартиры в разрезе комнатности.
    • Автор: Анна Иванна
      От чего зависит цена за аренду той или иной квартиры? Речь идёт именно об аренде, ибо продажа - дело совершенно иное. 
       
      давайте совместно составим список критериев, по которым определяется АДЕКВАТНАЯ цена.
       
      1. Местоположение
      2. Общая площадь
      3. Ремонтное состояние (сантехника, отделка).
      4. Наличие и новизна мебели и бытовой техники
      5. Инфраструктура.
      Дальше - я в замешательстве...