Тема: Яндекс Маркет, выгрузка дополнительных увеличенных изображений товара.
Пожалуйста, помогите реализовать правильно в коде (у меня версия Shop Pro 4.3 дефолтная):
Модуль выгрузки в Яндекс Маркет работает корректно и хорошо, проблем по работе с маркетом особых нет,, но не хватает функционала. Картинка в маркет попадает одна только главная MainImage. Но Маркет предусматривает также дополнительные увеличенные изображения. Пример http://clubs.ya.ru/market/replies.xml?item_no=3949. Причем если их нет, надпись увеличить присутствует, а нажатие на +увеличить в маркете ведет на сайт и скликивается понапрасну бюджет. Кроме того увеличенные красивые картинке в маркете позволят повысить лояльность покупателя.
С виду все просто и описано в инструкции на Маркете http://help.yandex.ru/partnermarket/?id=1111484 т.е в файле http://сайт/shop/yandex/genreyml необходимо картинки указывать подряд, первая станет главной, остальные отнесутся к увеличенным изображениям. Формируется genreyml в файле application/modules/shop/yandex.php. Так как дополнительные изображения у некоторых продуктов нет, у других от 1го до 10 доп изображений с именами вида ID_0.jpg ID_1.jpg и т.д. необходимо в yandex php прописать условие проверки их наличия, и если они есть то вывод соответствующего количества строк со ссылками на картинки, как в Примере или Инструкции выше.
Подобное реализовано в файле product.tpl для вывода доп картинок на сайт.
В yandex.php условия формирования genreyml выглядят так:
public function genreYML() {
$ci = ShopCore::$ci;
foreach ($this->getProducts() as $p) {
foreach ($p->getProductVariants() as $v) {
$unique_id += $p->getId() . '.' . $v->getId();
$this->offers[$unique_id] = array(
'url' => ShopCore::$ci->config->item('base_url') . '/shop/product/' . $p->id,
'price' => $v->getPrice(),
'currencyId' => $this->currencyCode,
'categoryId' => $p->getCategoryId(),
'picture' => str_replace('//uploads', '/uploads', productImageUrl($p->getMainImage())),
???? здесь нужно прописать код с условием ????
'name' => encode($p->getName() . ' ' . $v->getName()),
'description' => '',
);
}
}
По сути под «picture» нужно вставить код условия проверки наличия и вывода URL картинки / картинок и получиться в genreyml вывод такой:
<picture>http://сайт/uploads/shop/223_main.jpg</picture> - главная картинка выводиться
<picture>http://сайт/uploads/shop/223_0.jpg</picture> доп картинка 1
<picture>http://сайт/uploads/shop/223_2.jpg</picture> доп картинка 3
В product.tpl подобное условие реализовано так, но в этом условии реализован еще вывод миниатюр а по клику их увеличение в допокне, разобраться не выходит, нужна помощь!!??:
<!-- Start. Show additional images -->
{if sizeof($productImages = $model->getSProductImagess()) > 0}
{foreach $productImages as $key => $image}
<li>
<a rel="group" href="{echo $image->getThumbUrl()}" class="photo">
<figure>
<span class="helper"></span>
<img src="{productImageUrl($image->getImageName())}" alt="{echo ShopCore::encode($model->getName())} - {echo ++$key}"/>
</figure>
</a>
</li>
{/foreach}
{/if}
<!-- End. Show additional images -->