admin Опубликовано 12 марта, 2022 Поделиться Опубликовано 12 марта, 2022 В стандартной реализации 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>'; 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.