Инструкция по работе с опциями и атрибутами в Opencart 2. Opencart атрибуты
Инструкция по работе с опциями и атрибутами в Opencart 2
Опубликовано: Пятница, Сентябрь 4, 2015
Больших изменений в работе с опциями и атрибутами товаров в Opencart второй версии относительно первой нет, кроме изменения UI.
Немного о правильном понимании опций и атрибутов товаров в Opencart.
Иногда люди не понимают различия опций и атрибутов товаров. Но оно существует и является очень важным для руководителя интернет-магазина.
Опция товара в opencart — это набор вариантов покупки товара. Опция позволяет реализовывать такие наиболее распространенные ситуации как: возможность выбора цвета и размера одежды на интернет-магазине, цвета покраски элемента тюнинга, размера шин и дисков и т.д. В целом любой интернет-магазин может обойтись без опций, для этого просто каждое торговое предложение необходимо создавать отдельным товаров, но после некоторого времени вы поймете сами что это не правильно, как минимум из-за того, что делает работу со списком товаров неудобным, когда показывается 10 товаров на странице одного вида, но разных размеров и цветов. Человеку будет точно неудобно и скорее всего он уйдет на другой сайт. Также внедрение опций приводит к улучшению SEO показателей при продвижении по конкретным товарам, так как трафик не разбегается по различным страницам, а концентрируется на одной и она улучшается по контенту.
Атрибуты товаров в opencart — больше все таки подойдет понятие характеристика товара, но будем использовать термин атрибут, так как он используется в русской версии opencart. Атрибут товара описывает точное значение определенной характеристики. Это самое главное, что нужно понимать в различиях между опциями и атрибутами. Опции — позволяют нам выбрать вариант покупки, атрибуты позволяют нам указать конкретную информацию по какой либо характеристики товара.
Рассмотрим для примера карточку товара с двумя опциями выбор цвета и размера, у одежды характеристиками могут быть: страна производитель, состав ткани.
Атрибуты используются для создания довольно гибкой системы фильтрации на списке товаров — это и есть их вторая задача. Т.е. атрибуты позволяют выполнять 2 задачи: 1) систематизировать характеристики товаров для описания товара, 2) реализовать гибкую систему фильтрации списка товаров по характеристикам.
На заметку: в opencart есть механизм фильтров, но он не так гибок в работе как использование атрибутов. Мы рекомендуем разрабатывать свой модуль фильтрации по атрибутам и не использовать фильтра товаров. Также есть уже готовые модули для покупки.
Работа с опциями в Opencart версии 2.
Выбираем пункт меню «Опции»
Добавляем новую опцию
Указываем название опции. Далее необходимо выбрать тип опции, в 90% случаев это «список», так как является наиболее подходящим для опций, у которых более 2 -3 вариантов.
После добавления вариантов опции поднимаемся вверх страницы и нажимаем сохранить.
Проставляем опцию товару. Вы можете указать при добавлении опции дополнительную наценку или скидку для покупки данного товара с данным вариантом опции.
Информация для клиентов BONO IDEA: если опция является общей для целой категории товаров, то вы можете обратиться в своему проект-менеджеру и попросить автоматически проставить всем товарам из категории опцию. Это делается быстро и не сложно.
Работа с атрибутами в opencart 2.
Выбираем в меню пункт «Группы атрибутов».
Добавляем новую группу атрибутов.
Указываем название группы атрибутов и сохраняем.
Группа атрибутов — является обязательным для создания, не всем нравится, что атрибуты необходимо группировать, но так сделано в opencart. Зато при создании сложной фильтрации и характеристик товаров, например для интернет-магазинов компьютерных комплектующих или мобильных телефонов (сложно=технических товаров) — крайне полезно бывает разграничить на блоки характеристики товара.
После добавления группы атрибутов, переходим в меню в пункт «Атрибуты» и добавляем атрибут указывая название и группу атрибутов.
Для проставления атрибутов товарам переходим в раздел меню «Товары», выбираем доя редактирования товар, переходим на вкладку «Атрибуты» и начинаем добавлять атрибуты указывая в текстовом поле значение атрибута.
Именно возможность указывать произвольное значение атрибута создает сложность в создании фильтров по ним, но делает довольно гибким этот функционал.
Условия использования
Данные материалы можно использовать в некоммерческих целях, с обязательным указанием автора.
Комментарии:
bono-idea.com
Opencart 2.x - Attribut&co! Атрибуты - это легко! | Модули, Шаблоны, Движки
Модуль для работы с атрибутами товаров. Атрибуты категорий. Шаблоны. И многое другое...1. В системе администрирования в разделе "Модули"напротив модуля "Attribut&co" - кнопка "Деактивировать"
2. Из папки /system удалить файл attribut&co.ocmod.xml, autocomplete.ocmod.xmlПринцип работы модуля
Из атрибутов, групп, категорий формируются соответствующие деревья, похожие на деревья папок и файлов системы Windows. Деревья позволяют структурировать подсистемы групп, атрибутов, категорий, атрибутов категорий. Т.е. показать наглядно расположение элементов и их иерархию. Вместо того, чтобы открывать для редактирования несколько форм, соответствующих этим подсистемам, теперь есть возможность управления ими в одном месте. Причем это делается быстрее и удобнее. Например, изменить группу или добавить атрибуты в категорию можно простым перетаскиванием мышкой.
Значения атрибутов заполняются, по прежнему на странице товара. Если для данного товара используются несколько значений данного атрибута, то их указывают через разделитель. (Сохраните этот разделитель в настройках модуля.) В дальнейшем этот набор значений будет использоваться в качестве шаблона. Когда будете редактировать следующий товар, Attribut&co позволит выбрать шаблон из списка, что уменьшает количество ошибок и ручной работы.
Если все таки наделали ошибок в атрибутах, шаблонах и т.д., их легко можно найти с помощью фильтра, который позволяет производить фильтрацию даже с помощью регулярных выражений или неполных данных.
Когда добавляете новый товар, возникают как минимум две проблемы. Первая - лень вводить кучу атрибутов, шаблонов, значений. Вторая - можно забыть, какие атрибуты использовались для аналогичного товара. Attribut&co позволяет легко добавить список атрибутов в категорию, которой принадлежит товар, и когда вы отметите чекбокс этой категории на вкладке "Связи", все атрибуты добавятся автоматически. В дальнейшем будет предусмотрена возможность автоматом заполнить и значения атрибутов из "дежурного" шаблона.
Невозможно описать коротко все возможности модуля, поэтому предлагаю поработать на Демо и посмотреть видео.
Поддерживаемые языки:- english
- русский
- модуль мультиязычный, языки добавляются с помощью языковых файлов admin/language/..../attributico.php
· OpenCart v. 2.X.X (а также сборки на базеOpenCart соответствующих версий)·
Адаптация для других версий будет выполнена по мере возможностей.
Требования:
- Ioncube Loader версии 5.0 и выше;
- PHP версии 5.4 (для других версий, просьба сообщить при запросе лицензионного ключа)
http://demo.radiocity.kz
demo
demo
lowenet.biz
Настройка атрибутов « Все о WEB программировании
21.06.2017 Ромчик0
Доброго времени суток. Мы продолжаем изучать OpenCart, создавая интернет-магазин. Так в прошлой статье «Создание интернет-магазина на OpenCart: Настройка фильтров» мы рассмотрели, что такое фильтры в OpenCart, для чего они нужны и привязали фильтры к товарам. А в этой статье остановимся на атрибутах товаров в OpenCart. Научимся создавать, редактировать и удалять атрибуты. А также добавим атрибуты к товару.
Переходим в админку и авторизируемся. Переходим «Каталог»->«Атрибуты» и в подменю выбираем «Групп атрибутов»
И попадаем на страницу со списком всех групп атрибутов атрибутов.
Группы атрибутов служат для группировки однотипных атрибутов.
Тут мы можем создать новую группу, удалить или отредактировать существующую.
Удаление группы атрибутов
Для того, чтобы удалить группу или список групп нужно выделить группу или группы, которые хотим удалить и нажать «Удалить»
Но учтите, если в группе атрибутов есть атрибуты, то Вы не сможете удалить группу атрибутов
Создание новой группы атрибутов
Для того, чтобы создать новую группу атрибутов в OpenCart необходимо нажать «Добавить»
Затем ввести данные:
- Название группы
- Сортировка, если необходимо
И нажать «Сохранить»
Все группа атрибутов создана.
Давайте создадим группу атрибутов «Экран»
Редактирование группы атрибутов
Для того, чтобы отредактировать группу атрибутов необходимо напротив группы нажать «Редактировать»
Давайте изменим группу «Экран» на «Характеристики экрана». Теперь давайте перейдем в «Каталог»->«Атрибуты» и в подменю выберем «Атрибуты». И попадаем на страницу со списком всех атрибутов.
Тут мы можем добавлять новые атрибуты, удалять и редактировать существующие.
Удаление атрибутов
Для того, чтобы удалить атрибут в OpenCart необходимо выделить атрибут или группу атрибутов и нажать «Удалить»
Но если атрибут привязан к товару, то вы не сможете его удалить
Добавление атрибута
Для того, чтобы добавить новый атрибут в OpenCart необходимо нажать «Добавить»
Вводим название атрибута. Выбираем из списка группу атрибутов. И жмем «Сохранить».
Я создали атрибут «Диагональ экрана» и добавил его в группу «Экран»
Редактирование атрибута
Для того, чтобы изменить атрибут необходимо нажать «Редактировать» напротив атрибута
Затем изменить характеристики и сохранить.
Добавление атрибута к товару
Переходим «Каталог»->«Товары», открываем товар на редактирование. И переходим в вкладку «Атрибуты».
Атрибут в OpenCart – это характеристики товара.
И для добавления атрибута жмем «Добавить»
В поле «Атрибут» вводим название атрибута (это поле с автодополнением), а в поле «Текст» вводим значение атрибута.
Ну и не забываем сохранить.
Я добавил атрибут «Диагональ экрана» и значение «30″». Давайте посмотрим, что получилось. Переходим на карточку товара.
Как видим во вкладке «Характеристики» появилась новая группа «Экран» и в ней атрибут «Диагональ экрана» со значением «30″»
Заключение
Мы с вами рассмотрели понятие атрибута в OpenCart. Научились создавать, удалять и редактировать группы атрибутов. Создавать, удалять и редактировать атрибуты. А также привязали атрибут к товару.
В следующей статье мы остановимся на таком понятии, как опции в OpenCart
Чтобы не пропустить выхода новых статей подписываемя: VK, twitter, facebook. И канал на youtubeПонравилась статья? Поделись с друзьями.
web-programming.com.ua
OpenCart 2 - вывод определенных атрибутов в карточке товара – Di-Grand блог о создании сайтов
Сегодня столкнулся с вопросом вывода определенных атрибутов в карточке товара. Как вы знаете, OpenCart по умолчанию выводит в цикле все группы и все атрибуты в них.Нам же нужно было вывести только определенные атрибуты. Так как некоторые использовались только в каталоге для фильтра. В общем то может быть много разных ситуаций зачем это понадобится. Не будем тянуть резину и приступим к действиям. И так, поехали.
1. Открываем файл контролер catalog/controller/product/product.phpНаходим:
$data['products'][] = array(
$data['products'][] = array( |
После него вставляем:
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), |
Визуально это получится примерно так:
2. Открываем файл контролер catalog/view/theme/ваша_тема/product/product.tpl
Находим (примерно 49-65 строка):
<table> <?php foreach ($attribute_groups as $attribute_group) { ?> <thead> <tr> <td colspan="2"><strong><?php echo $attribute_group['name']; ?></strong></td> </tr> </thead> <tbody> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> </tbody> <?php } ?> </table>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<table> <?php foreach ($attribute_groups as $attribute_group) { ?> <thead> <tr> <td colspan="2"><strong><?php echo $attribute_group['name']; ?></strong></td> </tr> </thead> <tbody> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> </tbody> <?php } ?> </table> |
И заменяем на:
<?php foreach ($attribute_groups as $attribute_group) { ?> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <?php if(in_array($attribute['attribute_id'], array(12))) { ?> <?php echo $attribute['name']; ?> <?php echo $attribute['text']; ?> <?php }?> <?php }?> <?php }?>
<?php foreach ($attribute_groups as $attribute_group) { ?> <?php foreach ($attribute_group['attribute'] as $attribute) { ?> <?php if(in_array($attribute['attribute_id'], array(12))) { ?> <?php echo $attribute['name']; ?> <?php echo $attribute['text']; ?> <?php }?> <?php }?> <?php }?> |
Где цифра 12 это іd вашего атрибута. Можно выводить с нескольких, просто перечисляйте их через запятую (12,13,14,15).
Что бы узнать іd вашего атрибута, зайдите в админку. Каталог > Атрибуты >Атрибуты , найдите ваш атрибут и нажмите изменить. В конце строки браузера вы увидите цифру (attribute_id=12) . Эта цифра и есть id вашего атрибута.
Сохраняйте файлы, обязательно очистите кеш — Дополнения > Менеджер дополнений > Кнопка обновить.
Готово, вывод определенных атрибутов в карточке товара осуществлен. Лично тестировал на ocStore 2.1.0.1.1.
di-grand.com
Выводим атрибуты на странице категории в opencart
Доброго времени суток дорогой читатель, недавно перед мною встала задача вывести в списке товаров производителя атрибуты, и после немногих поисков в google решение пришло само собой, данный метод можно смело применять не только к странице товаров производителя а и к страницам категорий, поиска, акций и.т.д... По сути разницы нет.Не буду тянуть резину и объяснять для чего это нужно, каждый кому требуется поймет для чего... И так приступим, к самой задаче и ее решению.
Открываем файл /catalog/controller/product/manufacturer.php и находим в нем стоку:
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', |
и сразу после нее вставляем следующую строку:
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), |
Далее открываем /catalog/view/theme/default/template/product/manufacturer_info.tpl и в нужное нам место к примеру вместо описания или любое другое место вставляем кусок кода
<divclass="description"><?php if($product['attribute_groups']){?><table><?php foreach($product['attribute_groups']as $attribute_group){?><thead><!—названия групп—><tr><tdcolspan="2"><?php echo $attribute_group['name'];?></td></tr></thead><!—-><tbody><?php foreach($attribute_group['attribute']as $attribute){?><tr><td><?php echo $attribute['name'];?></td><td><?php echo $attribute['text'];?></td></tr><?php }?></tbody><?php }?></table><?php }?></div>
<divclass="description"><?php if($product['attribute_groups']){?><table><?php foreach($product['attribute_groups']as $attribute_group){?><thead><!—названия групп—><tr><tdcolspan="2"><?php echo $attribute_group['name'];?></td></tr></thead><!—-><tbody><?php foreach($attribute_group['attribute']as $attribute){?><tr><td><?php echo $attribute['name'];?></td><td><?php echo $attribute['text'];?></td></tr><?php }?></tbody><?php }?></table><?php }?></div> |
Если же вам нужно вывести только конкретные атрибуты, то можно их вывести при помощи ID атрибута, для этого есть два пути первый это крыть не нужные атрибуты и второй метод это показывать только те атрибуты что нам нужно.И так первый способ это мы выводим только те атрибуты которые не будут перечислены в коде ниже , в коде же мы будем перечислять только те ID атрибутов которые хотим скрыть.
<?php if($attribute['attribute_id']<> Тут id атрибута который прячем {?> <?php }?>
<?php if($attribute['attribute_id']<> Тут id атрибута который прячем {?> <?php }?> |
Ну а в втором способе мы выведем только нужные нам атрибуты :
<?php if(in_array($attribute['attribute_id'], array(1,2,3,5,6,7))){?>
<?php if(in_array($attribute['attribute_id'], array(1,2,3,5,6,7))){?> |
Как это все будет смотреться на примере вы можете посмотреть ниже:
<?php foreach($product['attribute_groups'] as $attribute_group) { ?> <?php foreach($attribute_group['attribute'] as $attribute) { ?> <?php if(in_array($attribute['attribute_id'], array(15,17))){?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> <?php } ?> <?php } ?>
<?php foreach($product['attribute_groups'] as $attribute_group) { ?> <?php foreach($attribute_group['attribute'] as $attribute) { ?> <?php if(in_array($attribute['attribute_id'], array(15,17))){?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> <?php } ?> <?php } ?> |
Если вы не знаете как узнать ID нужного атрибута , то это проще простого, идете в админку находите нужный вам атрибут и нажимаете изменить , после смотрим ссылку в строке браузера и в ссылке смотрим attribute_id=0000, где 0000 это и есть нужный нам ID атрибута.
Вот таким несложным способом мы вывели список атрибутов на нужную страницу, удачи Вам.
web-stydia.com
Opencart - Вывод Атрибутов Вместо Описания В Категориях | Модули, Шаблоны, Движки
Нагляднее посетителю магазина в категории, где идет краткое описание товара, вместо описания выводить характеристики товара. Так он сможет уже при просмотре товаров сравнивать себе в уме и определяться с покупкой.catalog\controller\product\category.php, 199
Код:
'description'=> utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES,'UTF-8')),0,100).'..', 'attribute_groups'=> $this->model_catalog_product->getProductAttributes($result['product_id']), 'price' => $price, catalog\view\theme\default\template\product\category.tpl, 76Код:
<divclass="description"> <?php if($product['attribute_groups']){?> <table> <?php foreach($product['attribute_groups']as $attribute_group){?> <thead><!--названия групп--> <tr> <tdcolspan="2"><?php echo $attribute_group['name'];?></td> </tr> </thead><!----> <tbody> <?php foreach($attribute_group['attribute']as $attribute){?> <tr> <td><?php echo $attribute['name'];?></td> <td><?php echo $attribute['text'];?></td> </tr> <?php }?> </tbody> <?php }?> </table> <?php }?> </div> Выводить атрибуты в строчку:catalog\view\theme\default\template\product\category.tpl, 76Заменяем этот код:
Код:
<divclass="description"> <?php if($product['attribute_groups']){?> <table> <?php foreach($product['attribute_groups']as $attribute_group){?> <thead><!--названия групп--> <tr> <tdcolspan="2"><?php echo $attribute_group['name'];?></td> </tr> </thead><!----> <tbody> <?php foreach($attribute_group['attribute']as $attribute){?> <tr> <td><?php echo $attribute['name'];?></td> <td><?php echo $attribute['text'];?></td> </tr> <?php }?> </tbody> <?php }?> </table> <?php }?> </div> на:Код:
<divclass="description"> <?php if($product['attribute_groups']){?> <table> <?php foreach($product['attribute_groups']as $attribute_group){?> <tbody> <?php foreach($attribute_group['attribute']as $attribute){?> <tr> <?php echo $attribute['name'];?> - <?php echo $attribute['text'];?><fontcolor="#00A7C7">/</font> </tr> <?php }?> </tbody> <?php }?> </table> <?php }?> </div> Разделитель — косая черта, мне кажется так органичней. Стиль для этой черты (синий цвет color="#00A7C7"), чтобы было более заметно где заканчивается один атрибут и начинается другой.Так же убрано название групп характеристик.
lowenet.biz
Вывести атрибуты товара в категории — OpenCart | Кабинет Веб-мастера
OpenCart - движок, использующий модель MVC, а значит, что в любом месте любой функционал работать не будет. Для этого он должен быть описан в контроллере и только после этого может быть выведен в шаблон. Поэтому, если вам требуется вывести свойства (атрибуты) товара на странице категории, то просто скопировав код из шаблона товара, это сделать не получится. А давайте разберемся, как же сделать это: как вывести атрибуты товара в категории OpenCart. Хочу заметить, что я делаю все модификации на движке ocStore 2.1.0.2.
Первое что мы сделаем - поправим контроллер. Идем по пути ftp /catalog/controller/product/category.php и в районе 227 строки после:
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',Дописываем:
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),Теперь можем заняться выводом. Открываем шаблон /catalog/view/theme/default/template/product/category.tpl и в нужном месте вставляем код:
<?php if($product['attribute_groups']) { ?> <table> <?php foreach($product['attribute_groups'] as $attribute_group) { ?> <thead> <tr> <td colspan="2"><?php echo $attribute_group['name']; ?></td> </tr> </thead> <tbody> <?php foreach($attribute_group['attribute'] as $attribute) { ?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> </tbody> <?php } ?> </table> <?php } ?>Вот и все. Теперь свойства товара (атрибуты) будут выводиться на странице категории.
webkab.ru