Лучший Ответ joejoker , 29 January 2014 - 08:10
В общем вроде решил вашу проблему. Посмотрите сайт.
Перейти к сообщениюЛучший Ответ joejoker , 29 January 2014 - 08:10
В общем вроде решил вашу проблему. Посмотрите сайт.
Перейти к сообщениюОтправлено 26 January 2014 - 13:54
скрины настроек в приложении
когда цены на сайте были установлены в рублях - YML создавался нормально,
затем в некоторых товарах я выставил цену в $, в шаблонах Full | Teaser | Yml Export стоит валюта по умолчанию руб
Teaser | Yml Export - в настройка модуля Цена (JBZoo Price - Advance) стоит вывод шаблон " только цена "базовая"", в выводе "Шаблон - Только цена" Режим конечная цена с учетом скидки + валюта по умолчанию руб
в Teaser работает нормально - показывает только цену со скидкой
в Yml Export работает не нормально - показывает только входную цену без скидки и в разных валютах
Настройки модуля в Full | Teaser | - работают корректно, (можно выставить в модуле показ только скидки - работает хорошо)
ошибка с ЯндексМаркета:
В последнем прайс-листе магазина kondicionery-v-toliatti.ru найдены критические ошибки. Ошибки при разборе файла: Определена кодировка: utf-8 (строка 0, столбец 0) Дата из файла: 2014-01-24 22:36 (строка 3, столбец 39) Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Element 'currencyId' is not valid for content model: '(url?,buyurl?,price,wprice?,currencyId,xCategory?,categoryId+,market_category?,picture*,store?,pickup?,delivery?,deliveryIncluded?,local_delivery_cost?,orderingTime?,((typePrefix?,vendor,vendorCode?,model,((provider,tarifplan?))?)|(author?,name,publisher?,series?,year?,ISBN?,volume?,part?,language?,binding?,page_extent?,table_of_contents?)|(author?,name,publisher?,series?,year?,ISBN?,volume?,part?,language?,table_of_contents?,performed_by?,performance_type?,storage?,format?,recording_length?)|(artist?,title,year?,media?,starring?,director?,originalName?,country?)|(worldRegion?,country?,region?,days,dataTour*,name,hotel_stars?,room?,meal?,included,transport,price_min?,price_max?,options?)|(name,place,hall?,hall_part?,date,is_premiere?,is_kids?)|(name,vendor?,vendorCode?)),aliases?,additional*,description?,sales_notes?,promo?,manufacturer_warranty?,seller_warranty?,country_of_origin?,downloadable?,adult?,age?,barcode*,cpa?,fee?,rec?,expiry?,weight?,dimensions?,param*,related_offer*)' (строка 55, столбец 21) Для публикации данных от магазина была использована предыдущая версия файла от 2014-01-24 09:37.
Сообщение отредактировал Olegtlt: 26 January 2014 - 13:57
Отправлено 28 January 2014 - 00:09
Извиняюсь с валютами - ЯндексМаркет сейчас нормально обрабатывает YML файл
(видимо у меня были проблемы гдето в настройках)
Осталось только разобраться с ценой - чтобы в YML была цена со скидкой
(сейчас входная цена без скидки)
заранее спасибо
Отправлено 28 January 2014 - 00:10
Извините за долгий ответ. Сбросил ссылку разработчикам - подождем их советов.
Отправлено 28 January 2014 - 12:27
Olegtlt, доброго времени суток. Пожалуйста, предоставте скриншоты настроек цены материалов. Прежде чем что то советовать, мне нужно знать как у вас организованы цены в общем.
Отправлено 28 January 2014 - 13:10
скрины в приложении
в настройках приложения
в Teaser и Yml Export - отображение цены настроено - только цена базовая с учетом скидки
в Full - отображение цены настроено - комплексный шаблон
Сообщение отредактировал Olegtlt: 28 January 2014 - 13:11
Отправлено 28 January 2014 - 13:28
Я правильно вас понимаю? Вы хотите, что бы в документ попадала данная цена:
Отправлено 28 January 2014 - 13:31
нет, не правильно
я хочу чтобы в документ попадала цена с учетом скидки (какая сейчас показывается в Teaser)
если скрин выше, то: 24990-2000=22990 рублей (что и является реальной ценой товара)
Отправлено 28 January 2014 - 17:38
Olegtlt, доброго времени суток. Предлагаю такой хак: в файле media/zoo/applications/jbuniversal/framework/helpers/jbyml.php, вот эту строку:
$price[$key] = $this->replaceSpecial($value->getElementData()->basic['value']);
Замените следующим кодом:
$variations = $value->getElementData()->get('variations'); if(!empty($variations)){ foreach($variations as $variation){ $tmp[] = $variation['value']; } $price[$key] = min($tmp); }else{ $price[$key] = $this->replaceSpecial($value->getElementData()->basic['value']); }
Смысл в следующем. Если у товара будет хотя бы одна вариация цены, то будет попадать в документ она. Если вариаций много, то будет попадать в документ минимальное значение из всех имеющихся. Ну и если вариация цены не будет найдена, подставится значение основной цены.
Сообщение отредактировал joejoker: 28 January 2014 - 17:42
Отправлено 28 January 2014 - 17:57
Olegtlt, доброго времени суток. Предлагаю такой хак: в файле media/zoo/applications/jbuniversal/framework/helpers/jbyml.php, вот эту строку:
$price[$key] = $this->replaceSpecial($value->getElementData()->basic['value']);Замените следующим кодом:
$variations = $value->getElementData()->get('variations'); if(!empty($variations)){ foreach($variations as $variation){ $tmp[] = $variation['value']; } $price[$key] = min($tmp); }else{ $price[$key] = $this->replaceSpecial($value->getElementData()->basic['value']); }Смысл в следующем. Если у товара будет хотя бы одна вариация цены, то будет попадать в документ она. Если вариаций много, то будет попадать в документ минимальное значение из всех имеющихся. Ну и если вариация цены не будет найдена, подставится значение основной цены.
Ни чего не изменилось(
YML по прежнему выводит цену без учета скидки
сравните первый товар
http://kondicionery-...riya-neola.html
цена без скидки 475$
цена со скидкой 425$
в YML стоит 475$
ниже использованный хак
// get price $variations = $value->getElementData()->get('variations'); if(!empty($variations)){ foreach($variations as $variation){ $tmp[] = $variation['value']; } $price[$key] = min($tmp); }else{ $price[$key] = $this->replaceSpecial($value->getElementData()->basic['value']); } // get currency id $currencyId[$key] = $this->replaceSpecial($value->getElementData()->basic['currency']); // get available
Я не пойму это только у меня так создается YML (с ценой без скидки) или у всех на JBZOO?
Просто ЯндексМаркет очень жестко по правильности цен контролируют
Отправлено 28 January 2014 - 18:23
Вы не внимательно читали видимо... Я предлагал заменить строку, а не просто добавить код... Хотя... дайте доступ в админку и фтп, в личку.
Сообщение отредактировал joejoker: 28 January 2014 - 18:26