Правильный способ работы с реальным изображением товара на OpenCart 2

В настоящее время я ищу правильный способ работы над темой, используя реальное изображение продукта, а не его миниатюру (обозначенную как $thumb в теме по умолчанию).

Я обнаружил резкий трюк, добавив строку в файл контроллера:

$this->data['cover'] = $product_info['image'];

Но испытывал ли кто-нибудь лучший метод (например, с помощью vqmod) для получения этих данных реального изображения без изменения содержимого контроллера (для использования на страницах шаблонов, таких как product.tpl или category.tpl, например)?


person P. Mergey    schedule 25.05.2015    source источник


Ответы (1)


С помощью участников форума OpenCart мне удалось найти функциональное решение (с использованием vQmod). Таким образом, требуется создать .xml файл, помещенный в папку vqmod/xml и содержащий, например:

<?xml version="1.0" encoding="utf-8"?>
<modification>
    <id>Recover Real Image</id>
    <version></version>
    <vqmver></vqmver>
    <author></author>
    <email></email>
    <website></website>
    <file name="catalog/controller/product/product.php">
    <operation>
        <search position="after"><![CDATA[
            $data['points'] = $product_info['points'];
        ]]></search>
        <add><![CDATA[
            $data['picture'] = HTTP_SERVER.'/image/'.$product_info['image'];
        ]]></add>
    </operation>
    </file>
</modification>

Если изображение продукта не может быть найдено и при условии, что <default.jpg> помещен в корень папки <image>, элемент <add> можно заменить на:

if(empty($product_info['image'])){
    $data['picture'] = HTTP_SERVER.'image/default.jpg';
}
else{
    $data['picture'] = HTTP_SERVER.'image/'.$product_info['image'];
}

Другие возможные предложения, используя:

person P. Mergey    schedule 31.05.2015