Приветствую тебя уважаемый посетитель на страницах нашего сайта, где мы временами публикуем полезные советы для opencart, и не только для данного движка интернет магазина, у нас можно найти различные заметки которые пригодятся любому вебмастеру, как начинающему разработчику так и профессионалы могут подчеркнуть для себя что то новое.
Сегодня хотелось бы описать простой метод вывода производителя opencart в произвольном месте вашего магазина. По умолчанию в движке данного интернет магазина производитель отображается именно в конкретных местах, но бывают ситуации когда нужно отобразить производителя к примеру в корзине товара.
Сегодня как раз один из пользователей нашего сайта обратился к нам за помощью в данном вопросе, ему нужно было добавить отображение производителя в корзине товара, в истории покупателя, а так же изменить поля в письме заказа opencart, что бы бренд показывался и там.
Разработку интернет магазина как я понял он начал только недавно, его тематика мебельный интернет магазин, работы в данном магазине как говорится непочатый край, но в данном случае стояла задача как раз в том чтоб показать производителя в произвольном месте магазина, данное поле он конечно решил использовать совсем в других целях но все же...
PS: Кстати если вам нужно вывести логотип производителя opencart в карточке товара рекомендую прочитать данную статью по ссылке здесь.
Хорошо, не буду как говорится тянуть кота за его достоинства , а приступим к решению задачи, тем более что это не так уже и сложно. Добавлять производителя мы будем в данном примере конкретно в корзину заказа, в других местах делайте все по аналогии, за исключением каких то мелких моментов.
Все изменения мы будем производить только в двух файлах:
1 2 3 |
catalog\controller\checkout\cart.php и \catalog\view\theme\шаблон\template\checkout\cart.tpl |
И так, первым открываем файл контролера cart.php
Находим строчку:
1 |
$this->load->model('tool/upload'); |
После которой добавим:
1 |
$this->load->model('catalog/product'); |
Далее нам нужно найти строку:
1 |
foreach ($products as $product) { |
И сразу после нее добавим:
1 |
$product_info = $this->model_catalog_product->getProduct($product['product_id']); |
Далее находим:
1 |
$data['products'][] = array( |
И в массиве который ниже нам нужно добавить:
1 2 |
'manufacturer' => $product_info['manufacturer'], 'manufacturer' => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $product_info['manufacturer_id']), |
К примеру можно вставить после:
1 |
'name' => $product['model'],) |
Вот и все что нужно было сделать в контролере корзины заказа. Теперь нам осталось только вывести производителя в нужное место шаблона, и так открываем файл cart.tpl и в нужном вам месте добавляем:
1 |
<a href="<?php echo $product['manufacturers']; ?>"><?php echo $product['manufacturer']; ?><a/> |
В данном случае клиенту нужно было что бы производитель отображался под названием товара, по этому я добавил его после:
1 |
<a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a> |
Ну вот собственно и все что нужно было сделать, чтобы производитель отобразился в корзине заказа.
Пробуйте и у вас все получится.
4 комментария
ВСЕ СДЕЛАЛ , ПОТОМ ПРОВЕРИЛ , НО КАК ТО НЕ СЛУЧИЛОСЬ (
Статья написана для ветки 1.5, если у вас двойка то там возможно чуточку по другому, плюс шаблон…
НО ВСЕ РАВНО СПАСИБО , ВОТ БЫ ЕЩЕ К КАЖДОЙ СТАТЬЕ, СКРИН РЕЗУЛЬТАТА, ТИПА КАК ВЫГЛЯДИТ )
Ну там как бы не за чем скрины, ето обычное текстовое поле как к примеру модель товара, или же его название, цена…..