Перейти к содержанию
  • В связи с блокировкой банка QIWI оплата через сайт не возможна.
    Для оплаты и получения дополнений просьба писать в личные сообщения
    Admin*у
    После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

Вывод логотипа производителя товара в категории


Рекомендуемые сообщения

В стандартной реализации Opencart не предусмотрен вывод производителя товара в категории, но в некоторых ситуациях он просто необходим.

В стандартной реализации Opencart не предусмотрен вывод производителя товара в категории, но в некоторых ситуациях он просто необходим. Например, интернет магазин продает шины или другие товары, которые многие отличают по бренду. И согласитесь, визуальное восприятие логотипа производителя в списке товаров помогает потенциальному покупателю найти то, что он искал.

Вывод товара в стандартном (default) шаблоне category.tpl построен как списком, так и сеткой. Переключаются эти режимы ссылкой в начале страницы, после переключения данные заносятся в куки (cookie) и при следующем посещении магазина или перехода в другие категории выбор запоминается до их очистки или переключения режима.

В таком случае вывод товаров происходит естественным путем на страницу и после этого javascript перестраивает элементы согласно выбору пользователя. Для добавления дополнительного поля (производителя, артикул, mpn и др.) надо внести изменения как в разметку, так и в javascript код внизу страницы.

Для добавления данных о производителе и его логотип в массив товаров открываем контроллер по адресу catalog/controller/product/category.php и и после строки в начале файла:

$this->load->model('catalog/category');

добавляем загрузку модели производителя строкой:

$this->load->model('catalog/manufacturer');

Далее ищем код формирования массива

$this->data['products'][] = array(

и перед ним вставляем

$manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($result['manufacturer_id']);

if ($result['image']) {
    $logo_image = $this->model_tool_image->resize($manufacturer_info['image'], 100, 60);
} else {
    $logo_image = false;
}

Обратите внимание на числа 100 и 60 – это параметры изображения, где 100 – длина, 60 – высота, их можно менять на любой другой размер.  Далее чуть ниже находим

'name' => $result['name'],

После нее вставляем

'logo_title' => $manufacturer_info['name'],
'logo_image' => $logo_image,

Теперь наш массив, передаваемый на шаблон, включает имя производителя и его логотип.

Для вывода логотипа производителя в список и сетку вывода товаров в категории открываем файл шаблона catalog/view/theme/default/template/product/category.tpl и находим блок (div) с классом product-list в котором выводятся данные о товарах, а потом с этого блока «парсятся» для перестройки список-сетка. Далее в нужном месте для вывода логотипа бренда вставляем

<div class="logo"><img src="<?php echo $product['logo_image']; ?>" alt="<?php echo $product['logo_title']; ?>" title="<?php echo $product['logo_title']; ?>"></div>

После этого «естественный» вывод в шаблон у нас уже готов. Для добавления в сетку или список нам нужно отредактировать javascript функцию, которая формирует верстку для заданного вида. Для этого внизу страницы находим строку

function display(view) {

и в нужном месте до строки }else{ вставляем отображение логотипа

var logo = $(element).find('.logo').html();
if (logo != null) {
    html += '<div class="logo">' + logo + '</div>';
}

можно например вставить после строки:

html += '<div class="name">' + $(element).find('.name').html() + '</div>';

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...