Jump to content
Sign in to follow this  
svetnik

Вывод атрибутов в карточке товара

Recommended Posts

Добрый день!

Необходимо в карточке товара вывести все атрибуты. Как это сделать?

Решение для опенкарт 3 не могу найти.

 

Share this post


Link to post
Share on other sites

так скопируйте просто код из таба характеристик (атрибутов), хоть так же таблицей, хоть меняйте оформление как нравится

вот это можете разместить там где нужно показать атрибуты:

              <table class="table table-bordered">
                {% for attribute_group in attribute_groups %}
                <thead>
                  <tr>
                    <td colspan="2"><strong>{{ attribute_group.name }}</strong></td>
                  </tr>
                </thead>
                <tbody>
                {% for attribute in attribute_group.attribute %}
                <tr>
                  <td>{{ attribute.name }}</td>
                  <td>{{ attribute.text }}</td>
                </tr>
                {% endfor %}
                  </tbody>
                {% endfor %}
              </table>

Не забудьте потом обновить кеш модификаторов и кеш шаблона на главной в настройках разработчика

Share this post


Link to post
Share on other sites

вставил ваш код сюда: 

catalog/view/theme/default my/template/product/category.twig

и сюда

catalog/view/theme/default my/template/extension/module/featured.twig

вот этот код показывается:

<table class="table table-bordered"></table>

А инфы про атрибутов нет =(

opencart Version 3.0.3.1 (rs.2)

P.S. обновил и выключил потом кеш и обновлял модули.

P

Edited by grangel

Share this post


Link to post
Share on other sites
4 часа назад, grangel сказал:

вставил ваш код сюда: 

catalog/view/theme/default my/template/product/category.twig

и сюда

catalog/view/theme/default my/template/extension/module/featured.twig

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

Сейчас нет возможности проверить на 3.х, но можете попробовать добавить в контроллер категории (catalog/controller/product/category.php) в массив данных товара:

'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id'])

если взлетит, то по аналогии и с рекомендуемыми

добрался до 3.х))

 

1. catalog/controller/product/category.php

найти: 

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

добавить перед:

'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),

2. catalog/view/theme/default/template/product/category.twig

найти: 

<p>{{ product.description }}</p>

добавить после:

              <table class="table table-bordered">
                {% for attribute_group in product.attribute_groups %}
                <thead>
                  <tr>
                   <td colspan="2"><strong>{{ attribute_group.name }}</strong></td>
                  </tr>
                </thead>
                <tbody>
                {% for attribute in attribute_group.attribute %}
                <tr>
                  <td>{{ attribute.name }}</td>
                  <td>{{ attribute.text }}</td>
                </tr>
                {% endfor %}
                  </tbody>
                {% endfor %}
              </table>

3. catalog/controller/extension/module/featured.php

найти: 

'product_id'  => $product_info['product_id'],

добавить перед: 

'attribute_groups' => $this->model_catalog_product->getProductAttributes($product_info['product_id']),

4. catalog/view/theme/default/template/extension/module/featured.twig

найти:

<p>{{ product.description }}</p>

добавить после:

              <table class="table table-bordered">
                {% for attribute_group in product.attribute_groups %}
                <thead>
                  <tr>
                    <td colspan="2"><strong>{{ attribute_group.name }}</strong></td>
                  </tr>
                </thead>
                <tbody>
                {% for attribute in attribute_group.attribute %}
                <tr>
                  <td>{{ attribute.name }}</td>
                  <td>{{ attribute.text }}</td>
                </tr>
                {% endfor %}
                  </tbody>
                {% endfor %}
              </table>

Если что-то не выводится, проверьте внимательно еще раз))

 

И конечно вы должны понимать, что править код файлов движка - это зло. Делайте все через ocmod

Edited by PaulKravchenko

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.