Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Вывод характеристик товара в модуле рекомендуемые


Recommended Posts

Коллеги, прошу помощи. Я начинающий разработчик на OpenCart.

Суть такова. В разделе каталога, в отображаемых карточках товара выводится информация в виде картинок, об этом товаре, которые берутся из радела характеристики этого товара.

Суть в том, что нужно в блоке "Популярные товары" внизу каждой страницы выводить тоже самое в карточках товаров.

Подскажите, как решить эту проблему, скриншоты прилагаю.

 

Снимок экрана (51).png

Снимок экрана (52).png

Снимок экрана (53).png

Змінено користувачем Dotor23
Надіслати
Поділитися на інших сайтах


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

смотрите catalog/view/theme/default/template/product/category.twig

находите там этот блок, можете прямо скопировать его код

Все, вывод есть. Еще нужно добавить в массив $data['products']  в контроллере модуля данные характеристик.

Смотрите как это сделано в catalog/controller/product/category.php и делаете по аналогии. Но скорее всего, что  это сделано модификатором, а не напрямую в файле, тогда ищите, какой модификатор модифицирует файл catalog/controller/product/category.php , и делаете как там, только для контроллера вашего модуля.

Надіслати
Поділитися на інших сайтах

1 час назад, Seriusis сказал:

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

смотрите catalog/view/theme/default/template/product/category.twig

находите там этот блок, можете прямо скопировать его код

Все, вывод есть. Еще нужно добавить в массив $data['products']  в контроллере модуля данные характеристик.

Смотрите как это сделано в catalog/controller/product/category.php и делаете по аналогии. Но скорее всего, что  это сделано модификатором, а не напрямую в файле, тогда ищите, какой модификатор модифицирует файл catalog/controller/product/category.php , и делаете как там, только для контроллера вашего модуля.

Да вот, в том то и беда, что в модификаторах ничего такого нет.

А на сайте, у меня выводится 2 модуля рекомендуемых товаров, и нужно это сделать только для одного. Я так полагаю, что лучше скачать клон модуля и поставить, чтобы это в разных модулях было.

Но проблема в том, что о PHP я пока что имею очень смутное представление, только взялся за его изучение. Я понимаю о чем вы говорите, но на практике не факт, что поучится. Нет ли варианта попроще?:D

Может есть модуль какой-нибудь или модификатор уже собранный, не находили?:)

Надіслати
Поділитися на інших сайтах


2 часа назад, Dotor23 сказал:

Да вот, в том то и беда, что в модификаторах ничего такого нет.

А на сайте, у меня выводится 2 модуля рекомендуемых товаров, и нужно это сделать только для одного. Я так полагаю, что лучше скачать клон модуля и поставить, чтобы это в разных модулях было.

Но проблема в том, что о PHP я пока что имею очень смутное представление, только взялся за его изучение. Я понимаю о чем вы говорите, но на практике не факт, что поучится. Нет ли варианта попроще?:D

Может есть модуль какой-нибудь или модификатор уже собранный, не находили?:)

У вас специфический вывод характеристик, точно такого модуля вряд ли выйдет найти. Какие то модификаторы для вывода характеристик может и есть, но вам их в любом случае нужно будет подпиливать под ваши нужды. По мне, то проще как раз взять уже готовую логику, и просто повторить её. На счёт клона модуля, проще не копировать, а допилить тот что есть, но в том месте, где характеристики не нужны, просто скыть их через css. Бросьте содержимое файлов, о которых я говорил, я подскажу как реализовать задачу

Надіслати
Поділитися на інших сайтах

14 часов назад, Seriusis сказал:

У вас специфический вывод характеристик, точно такого модуля вряд ли выйдет найти. Какие то модификаторы для вывода характеристик может и есть, но вам их в любом случае нужно будет подпиливать под ваши нужды. По мне, то проще как раз взять уже готовую логику, и просто повторить её. На счёт клона модуля, проще не копировать, а допилить тот что есть, но в том месте, где характеристики не нужны, просто скыть их через css. Бросьте содержимое файлов, о которых я говорил, я подскажу как реализовать задачу

С путями я не совсем разорабрался, поставил модуль, который показывает пути до отображаемых элементов. Вот сейчас приложу скрины, подскажите, какие файлы вам сбросить?

Снимок экрана (55).png

Снимок экрана (56).png

Надіслати
Поділитися на інших сайтах


catalog/controller/product/category.php         catalog/view/theme/default/template/product/category.twig

Надіслати
Поділитися на інших сайтах

по пути к шаблону категории я ошибся, найдите файл в вашей теме в папке journal, и бросьте 

Надіслати
Поділитися на інших сайтах

по контроллеру, что вы бросили,

на 197 строке в массив  $data['products'] можно увидеть, что есть ключ 

 

 

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

это и есть данные характеристик товара.

Найдите контроллер  рекомендуемых, путь catalog/controller/extension/module/featured.php

там будет массив товаров, скорее всего $data['products']

добавьте в него ключ, как и в контроллере категорий, т.е

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

 

В результате контроллер у вас готов.

Дальше можно выводить данные в шаблоне рекомендуемых, судя по скрину это catalog/view/theme/journal2/extension/module/featured

Гляньте файл catalog/view/theme/journal2/product/category.twig (ищите, может путь и другой) и сделайте вывод характеристик как там, или бросьте сюда, посмотрю

 

Надіслати
Поділитися на інших сайтах

28 минут назад, Seriusis сказал:

по контроллеру, что вы бросили,

на 197 строке в массив  $data['products'] можно увидеть, что есть ключ 

 

 


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

это и есть данные характеристик товара.

Найдите контроллер  рекомендуемых, путь catalog/controller/extension/module/featured.php

там будет массив товаров, скорее всего $data['products']

добавьте в него ключ, как и в контроллере категорий, т.е


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

 

В результате контроллер у вас готов.

Дальше можно выводить данные в шаблоне рекомендуемых, судя по скрину это catalog/view/theme/journal2/extension/module/featured

Гляньте файл catalog/view/theme/journal2/product/category.twig (ищите, может путь и другой) и сделайте вывод характеристик как там, или бросьте сюда, посмотрю

 

{% if product.attribute_groups %}
    {% for attribute_group in product.attribute_groups %}
        {% if attribute_group.attribute_group_id == 1 %}
            {% for attribute in attribute_group.attribute %}
                {% if attribute.attribute_id == 1 or attribute.attribute_id == 6 %}

Это такой код в category.twig, если вставляю его в нужное место в featured.twig, то падает сайт с такой ошибкой:

public_html/system/library/template/Twig/Parser.php on line 172

Надіслати
Поділитися на інших сайтах


2 минуты назад, Dotor23 сказал:

{% if product.attribute_groups %}
    {% for attribute_group in product.attribute_groups %}
        {% if attribute_group.attribute_group_id == 1 %}
            {% for attribute in attribute_group.attribute %}
                {% if attribute.attribute_id == 1 or attribute.attribute_id == 6 %}

Это такой код в category.twig, если вставляю его в нужное место в featured.twig, то падает сайт с такой ошибкой:

public_html/system/library/template/Twig/Parser.php on line 172

 

верно, шаблонизатор не может спарсить код, вы вставили часть кода. Смотрите внимательно, вот сколько if открылось, столько и закрыть нужно. 

 

Надіслати
Поділитися на інших сайтах

5 минут назад, Seriusis сказал:

 

{% if product.attribute_groups %}
    {% for attribute_group in product.attribute_groups %}
        {% if attribute_group.attribute_group_id == 1 %}
            {% for attribute in attribute_group.attribute %}
                {% if attribute.attribute_id == 1 or attribute.attribute_id == 6 %}
                    <div class="attr" style="flex:0 0 30%">
                        <img src="/image/catalog/iconimg/jpg1.jpg" style="height: 25px;margin-right: 2px;">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>
                {% endif %}
                {% if attribute.attribute_id == 2 %}
                    <div class="attr" style="flex:0 0 37%">
                        <img src="/image/catalog/iconimg/jpg3.jpg" style="height: 25px;margin-right: 2px;">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>

                    </div>
                {% endif %}
                {% if attribute.attribute_id == 3 %}
                    <div class="attr" style="flex:0 0 33%">
                        <img src="/image/catalog/iconimg/jpg2.jpg" style="height: 25px;margin-right: 2px;">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>
                {% endif %}
                {% if attribute.attribute_id == 13 %}
                    <div class="attr">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>
                {% endif %}
                {% if attribute.attribute_id == 8 %}
                    <div class="attr">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>
                {% endif %}
                {% if attribute.attribute_id == 9 or attribute.attribute_id == 10 %}
                    <div class="attr" style="flex:0 0 100%">
                        <span style="color:#8f7373;font-weight: bolder">{{ attribute.name }}:</span>
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>

                {% endif %}
            {% endfor %}
        {% endif %}
    {% endfor %}
{% endif %}

Вот полный код с category.twig, вставил его. Сайт не падает, но результата нет. В featured.php естественно строку добавил.

Надіслати
Поділитися на інших сайтах


3 минуты назад, Dotor23 сказал:

{% if product.attribute_groups %}
    {% for attribute_group in product.attribute_groups %}
        {% if attribute_group.attribute_group_id == 1 %}
            {% for attribute in attribute_group.attribute %}
                {% if attribute.attribute_id == 1 or attribute.attribute_id == 6 %}
                    <div class="attr" style="flex:0 0 30%">
                        <img src="/image/catalog/iconimg/jpg1.jpg" style="height: 25px;margin-right: 2px;">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>
                {% endif %}
                {% if attribute.attribute_id == 2 %}
                    <div class="attr" style="flex:0 0 37%">
                        <img src="/image/catalog/iconimg/jpg3.jpg" style="height: 25px;margin-right: 2px;">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>

                    </div>
                {% endif %}
                {% if attribute.attribute_id == 3 %}
                    <div class="attr" style="flex:0 0 33%">
                        <img src="/image/catalog/iconimg/jpg2.jpg" style="height: 25px;margin-right: 2px;">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>
                {% endif %}
                {% if attribute.attribute_id == 13 %}
                    <div class="attr">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>
                {% endif %}
                {% if attribute.attribute_id == 8 %}
                    <div class="attr">
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>
                {% endif %}
                {% if attribute.attribute_id == 9 or attribute.attribute_id == 10 %}
                    <div class="attr" style="flex:0 0 100%">
                        <span style="color:#8f7373;font-weight: bolder">{{ attribute.name }}:</span>
                        <span style="color:#8f7373;">{{ attribute.text }}</span>
                    </div>

                {% endif %}
            {% endfor %}
        {% endif %}
    {% endfor %}
{% endif %}

Вот полный код с category.twig, вставил его. Сайт не падает, но результата нет. В featured.php естественно строку добавил.

обновить модификаторы, почистить кэш twig, глянуть нет ли ошибки в журнале ошибок

Надіслати
Поділитися на інших сайтах

17 минут назад, Seriusis сказал:

обновить модификаторы, почистить кеш twig, глянуть нет ли ошибки в журнале ошибок

А добавить строку только в одном файле featured.php или во всех, которые есть? 3 файла лежит в папке admin (2 языковые) один в controller. 3 в основной папке (2 языковых) и 1, который поменял уже. и еще один в папке storage1.

 

Кеш обновил, изменений тоже нет(

 

Еще можете подсказать, почему так может быть, что при обновлении кеша модификаторов всегда падает сайт и админка с ошибкой:

Parse error: syntax error, unexpected 'elseif' (T_ELSEIF) in public_html/storage1/modification/system/library/cart/cart.php on line 168

этот файл просто удаляется.

Змінено користувачем Dotor23
Надіслати
Поділитися на інших сайтах


22 минуты назад, Dotor23 сказал:

А добавить строку только в одном файле featured.php или во всех, которые есть? 3 файла лежит в папке admin (2 языковые) один в controller. 3 в основной папке (2 языковых) и 1, который поменял уже. и еще один в папке storage1.

 

Кеш обновил, изменений тоже нет(

 

Еще можете подсказать, почему так может быть, что при обновлении кеша модификаторов всегда падает сайт и админка с ошибкой:

Parse error: syntax error, unexpected 'elseif' (T_ELSEIF) in public_html/storage1/modification/system/library/cart/cart.php on line 168

этот файл просто удаляется.

добавить только в контроллере, папка controller

Еще смотрите, может в контроллере featured.php данные товара лежат массиве $product_info а не result,

тогда правильно не 

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

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

 

по второму вопросу, видимо связано с каким то модификатором темы journal. Я там понимаю после обновления модификаторов ошибка исчезает

 

Надіслати
Поділитися на інших сайтах

8 минут назад, Seriusis сказал:

добавить только в контроллере, папка controller

Еще смотрите, может в контроллере featured.php данные товара лежат массиве $product_info а не result,

тогда правильно не 


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

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

 

по второму вопросу, видимо связано с каким то модификатором темы journal. Я там понимаю после обновления модификаторов ошибка исчезает

 

Спасибо Вам огромное!!! Ваша помощь оказалась бесценна.

 

8 минут назад, Seriusis сказал:

по второму вопросу, видимо связано с каким то модификатором темы journal. Я там понимаю после обновления модификаторов ошибка исчезает

Получается, что падает весь сайт с админкой, когда из бэкапа восстанавливаешь файл (cart.php), то все равботает, и к примеру установленный модуль тоже работает, для того, чтобы удалить установленный модуль нужно проделать туже схему. Это не проблема, так как этот сайт делал не я, просто интересно с чем это может быть связано:)

Надіслати
Поділитися на інших сайтах


если cart.php находится в storage, то этот файл сгенерирован с применением модификаторов на сайте, на основе оригинала, который в основной папке. Вы говорите, что при обновлении модификаторов он удаляется, значит или выключен необходимый модификатор, или он не пожет найти строки, чтобы применились правки. Проверьте список модификаторов, может нужно включить какой то. 

Надіслати
Поділитися на інших сайтах

18 часов назад, Seriusis сказал:

если cart.php находится в storage, то этот файл сгенерирован с применением модификаторов на сайте, на основе оригинала, который в основной папке. Вы говорите, что при обновлении модификаторов он удаляется, значит или выключен необходимый модификатор, или он не пожет найти строки, чтобы применились правки. Проверьте список модификаторов, может нужно включить какой то. 

Спасибо Вам, за помощь!:)

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.