Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Вывод стандартных полей Размеры (Д x Ш x В) и Вес в атрибутах


chekted
 Поделиться

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

Ребята, подскажите как можно вывести стандартные поля Размеры (Д x Ш x В) и Вес  в Атрибутах (Характеристиках). Нужно для того чтобы все это систиматизировать и не плодить кучу атрибутов типа габариты, размеры, высота, ширина ну и сразу решается вопрос с выводом нормальных данных в списке сравнения товаров.

Ссылка на комментарий
Поделиться на других сайтах


catalog/view/ваша тема/product/product.twig

Дивитись перед отаким кусом коду

{% for attribute in attribute_group.attribute %}

Робити так само як виведені атрибути.

В файлі catalog/controller/product/product.php

Зробити так, щоб в масиві $data[] були бажані вам дані 

І вивести їх відповідно в вашому catalog/view/ваша тема/product/product.twig перед, або після виводу атрибутів

(як групу атрибутів можна зробити додаткову мовну змінну (в catalog/language/ваші мови/product/product.php))

Ссылка на комментарий
Поделиться на других сайтах


20.07.2022 в 01:04, clarionio сказал:

catalog/view/ваша тема/product/product.twig

Дивитись перед отаким кусом коду

{% for attribute in attribute_group.attribute %}

Робити так само як виведені атрибути.

В файлі catalog/controller/product/product.php

Зробити так, щоб в масиві $data[] були бажані вам дані 

І вивести їх відповідно в вашому catalog/view/ваша тема/product/product.twig перед, або після виводу атрибутів

(як групу атрибутів можна зробити додаткову мовну змінну (в catalog/language/ваші мови/product/product.php))

 

Спробував, але десь роблю помилку, бо в шаблоні вкладка з відгуками відкривається з характеристиками внизу.

тут
catalog/view/ваша тема/product/product.twig

добавив

{% if attribute_groups %}
                <div class="tab-pane rm-content rm-product-tabs-attributes{% if not description %} show active{% endif %}" id="product_attributes">
                    {% for attribute_group in attribute_groups %}
                        <div class="rm-product-tabs-attributtes-list">
                            <div class="rm-product-tabs-attributtes-list-title">{{ attribute_group.name }}</div>
                            {% for attribute in attribute_group.attribute %}
                                <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                                    <div>{{ attribute.name }}</div>
                                    <div>{{ attribute.text }}</div>
                                </div>
                            {% endfor %}

                                 <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                            {% if weight %}
                                <div>{{ text_weight }}</div> 
                                <div>{{ weight }}</div>
                            {% endif %}
                            </div>                            
                            <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                            {% if length %}
                                <div>{{ text_length }}</div> 
                                <div>{{ length }}</div>
                            {% endif %} 
                            </div>
                            <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                            {% if width %}
                                <div>{{ text_width }}</div> 
                                <div>{{ width }}</div>
                            {% endif %}
                            </div>
                            <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                            {% if height %}
                                <div>{{ text_height }}</div> 
                                <div>{{ height }}</div>
                            {% endif %} 
                            </div>

                        </div> 
                 </div>
                    {% endfor %}
                </div>
            {% endif %}

Тут catalog/controller/product/product.php

 

$data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);
      
            if ($product_info['weight'] != '0') {
                $data['weight'] = round($product_info['weight'], 2) . ' ' . $product_info['weight_class_id'];
            } else {
                $data['weight'] = '';
            }

            if ($product_info['length'] != '0') {
                $data['length'] = round($product_info['length'], 2) . ' ' . $product_info['length_class_id'];
            } else {
                $data['length'] = '';
            }
            if ($product_info['width'] != '0') {
                $data['width'] = round($product_info['width'], 2) . ' ' . $product_info['length_class_id'];
            } else {
                $data['width'] = '';
            }
            if ($product_info['height'] != '0') {
                $data['height'] = round($product_info['height'], 2) . ' ' . $product_info['length_class_id'];
            } else {
                $data['height'] = '';
            }


Але відгуки після цього відображаються під описом, атрибутами а не у своїй вкладці (((
https://prnt.sc/rk3kBvU2kdXe

Изменено пользователем chekted
добавил скрин
Ссылка на комментарий
Поделиться на других сайтах


Замінив код в шаблоні і все запрацювало так як треба, дякую.
{% for attribute_group in attribute_groups %}
                        <div class="rm-product-tabs-attributtes-list">
                            <div class="rm-product-tabs-attributtes-list-title">{{ attribute_group.name }}</div>
                            {% for attribute in attribute_group.attribute %}
                                <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                                    <div>{{ attribute.name }}</div>
                                    <div>{{ attribute.text }}</div>
                                </div>
                            {% endfor %}
                            {% if weight %}
                                <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                                    <div>{{ text_weight }}</div> 
                                    <div>{{ weight }}</div>
                                </div>
                            {% endif %}
                            {% if length %}
                                <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                                    <div>{{ text_length }}</div> 
                                    <div>{{ length }}</div>
                                </div>
                            {% endif %}
                            {% if width %}
                                <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                                    <div>{{ text_width }}</div> 
                                    <div>{{ width }}</div>
                                </div>
                            {% endif %}
                            {% if height %}
                                <div class="rm-product-tabs-attributtes-list-item d-flex justify-content-between">
                                    <div>{{ text_height }}</div> 
                                    <div>{{ height }}</div>
                                </div>
                            {% endif %}
                        </div>
                    {% endfor %}

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.