Выводим oldprice в XML Яндекс Маркета
Элемент <oldprice> позволяет показать снижение цены на товар. В <oldprice> указывается старая цена товара, которая обязательно должна быть выше новой цены (<price>). Параметр является необязательным.
Если параметр указан, на сайте магазина обязательно должна быть указана скидка или снижение цены, в противном случае магазину выставляется ошибка. Параметр <oldprice> не заменяет параметр <price> (нельзя указать <oldprice> и не указать <price>).
Пример
<offer id="12341" type="vendor.model" available="true" bid="13" group_id="12345">
<url>http://best.clothes.ru/product_page.asp?pid=12344</url>
<price>7000</price>
<oldprice>10000</oldprice>
<currencyId>RUR</currencyId>
<categoryId>6</categoryId >
<market_category>Одежда, обувь и аксессуары/Женская одежда/Верхняя одежда/Куртки</market_category>
<picture>http://best.seller.ru/img/picture1.jpg</picture>
<store>true</store>
<pickup>false</pickup>
<delivery>true</delivery>
<local_delivery_cost>300</local_delivery_cost>
<vendor> Calvin Klein </vendor>
<model>Зимняя куртка</model>
...
</offer>
Вносим изменения
файл - catalog\model\export\yandex_market.php
заменить
IFNULL(ps.price, p.price) AS price FROM
на
ps.price AS pricespecial, p.price AS price FROM
файл - catalog\controller\feed\yandex_market.php
1 заменить
$data['price'] = number_format($this->currency->convert($this->tax->calculate($product['price'], $product['tax_class_id']), $shop_currency, $offers_currency), $decimal_place, '.', '');
на
if ($product['pricespecial'] < 1) {
$data['price'] = number_format($this->currency->convert($this->tax->calculate($product['price'], $product['tax_class_id']), $shop_currency, $offers_currency), $decimal_place, '.', '');
} else {
$data['price'] = number_format($this->currency->convert($this->tax->calculate($product['pricespecial'], $product['tax_class_id']), $shop_currency, $offers_currency), $decimal_place, '.', '');
$data['oldprice'] = number_format($this->currency->convert($this->tax->calculate($product['price'], $product['tax_class_id']), $shop_currency, $offers_currency), $decimal_place, '.', '');
}
2 заменить
'price'=>1, 'wprice'=>0
на
'price'=>1, 'oldprice'=>0, 'wprice'=>0