Помощь Как вывести наименование и лого производителя (бренда) и поставщика (supplier) и адрес поставщика?

Да, но в престашопе нет возможности отобразить информацию о поставщике (лого, наименование, адрес) непосредственно на странице каждого продукта.
Адрес производителя выводится в перечне характеристик и на странице бренда. Думаю и поставщика впехнуть не проблема.
 
Обязательно нужен вывод на страницу товара:

1. Наименования поставщика
2. Адреса поставщика

Дополнительно, необязателен, но желателен вывод:

1. Логотипа поставщика (если есть)

2. Наименования бренда
3. Логотипа бренда, если есть.

Напишу как сделал я. За правильность кода не ручаюсь, но у меня работает (PrestaShop 1.7.6.4)
У меня есть несколько Поставщиков для одного товара. Товары без атрибутов.
Мне нужно было сделать на карточке товара вывод в виде таблицы с столбцами:
1. Поставщик
2. Артикул поставщика
3. Цена поставщика
4. Наценка
Основной поставщик выделяется жирным шрифтом.

1. файл controllers\front\ProductController.php

1.1 в функцию public function initContent() перед $this->context->smarty->assign(array(
вставляем код:
$priceFormatter = new PriceFormatter();
$productInfoSuppliers = array();
$newSuppliers = Supplier::getSuppliers(false, $this->context->language->id, true);
foreach ($newSuppliers as $supplier)
{
$prodInfoSup = Supplier::getProductInformationsBySupplier((int) $supplier['id_supplier'], $this->product->id, $idProductAttribute = 0);
if (($prodInfoSup['product_supplier_reference'] != '') && ($prodInfoSup['product_supplier_price_te'] != 0)) {
$productInfoSuppliers[] = array(
'id_supplier' => (int) $supplier['id_supplier'],
'name' => $supplier['name'],
'product_supplier_reference' => $prodInfoSup['product_supplier_reference'],
'product_supplier_price_te' => $priceFormatter->format($prodInfoSup['product_supplier_price_te']),
'product_delta_price' => round($this->product->price / $prodInfoSup['product_supplier_price_te'], 2),
);
}
}

1.2 в массив $this->context->smarty->assign(array(
добавляем еще одну строку:
'product_info_suppliers' => $productInfoSuppliers,

2. в файл themes\ВАША ТЕМА\templates\catalog\product.tpl
в нужное место добавляем код:
{if ($product_info_suppliers)}
<div class="product-wholesale_price">
<table>
<tr>
<th style="width:40%; padding: 5px; border: 1px solid #7a7a7a">{l s='Supplier' d='Shop.Theme.Catalog'}</th>
<th style="width:20%; padding: 5px; border: 1px solid #7a7a7a">{l s='Supplier Reference' d='Shop.Theme.Catalog'}</th>
<th style="width:20%; padding: 5px; border: 1px solid #7a7a7a">{l s='Wholesale Price' d='Shop.Theme.Catalog'}</th>
<th style="width:20%; padding: 5px; border: 1px solid #7a7a7a">{l s='Delta Price' d='Shop.Theme.Catalog'}</th>
</tr>
{foreach from=$product_info_suppliers item=prod_inf_sup}
<tr>

{if ($product.id_supplier == $prod_inf_sup.id_supplier)}

<td style="font-weight: bold; padding: 5px; border: 1px solid #7a7a7a">{$prod_inf_sup.name}</td>
<td style="font-weight: bold; padding: 5px; border: 1px solid #7a7a7a">{$prod_inf_sup.product_supplier_reference}</td>
<td style="font-weight: bold; padding: 5px; border: 1px solid #7a7a7a">{$prod_inf_sup.product_supplier_price_te}</td>
<td style="font-weight: bold; padding: 5px; border: 1px solid #7a7a7a">{$prod_inf_sup.product_delta_price}</td>

{else}

<td style="padding: 5px; border: 1px solid #7a7a7a">{$prod_inf_sup.name}</td>
<td style="padding: 5px; border: 1px solid #7a7a7a">{$prod_inf_sup.product_supplier_reference}</td>
<td style="padding: 5px; border: 1px solid #7a7a7a">{$prod_inf_sup.product_supplier_price_te}</td>
<td style="padding: 5px; border: 1px solid #7a7a7a">{$prod_inf_sup.product_delta_price}</td>

{/if}

</tr>
{/foreach}
</table>
</div>
{/if}
 
Назад
Сверху