Prestashop 1.7.6: получение и отображение изображения продукта 2 ° в качестве фона в области настройки текста - PullRequest
0 голосов
/ 02 марта 2020

Я на prestashop 1.7.6. На странице продукта: мне нужно показать второе (2 °) или третье (3 °) изображение как background-image в настройке текста textarea (когда активна настройка текста).

пример изображения, получающего изображение первого продукта На прилагаемой фотографии я получаю первое изображение, но не знаю, как получить второе.

Может ли кто-нибудь мне помочь

1 Ответ

0 голосов
/ 02 марта 2020

Создайте новый метод в классе Product. php, чтобы получить изображения:

 public static function getImagesByID($id_product, $limit = 2){
    $id_image = Db::getInstance()->ExecuteS('SELECT `id_image` FROM `'._DB_PREFIX_.'image` WHERE `id_product` = '.(int)($id_product) . ' ORDER BY position ASC LIMIT 1, ' . $limit);
    $toReturn = array();
    if(!$id_image)
       return;
    else
       foreach($id_image as $image)
          $toReturn[] = $id_product . '-' . $image['id_image'];
    return $toReturn;
} 

И используйте функцию stati c в шаблоне smarty

{assign var="pImages" value=Product::geImagesByID($product.id_product, 2)}
{foreach from=$pImages item=image name=images}
   <img src="{$link->getImageLink($product.link_rewrite, $image, 'home_default')}" {if $smarty.foreach.images.first}class="current img_{$smarty.foreach.images.index}"{else} class="img_{$smarty.foreach.images.index}" style="display:none;"{/if} alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if}/>
{/foreach}
...