Последние темы


Вывод доп. параметров в корзине в виде картинок

  • Добрый день! Возникла такая задача: на странице товара сделать выбор, скажем декора для торта! Выбрать можно 3шт. В корзине необходимо, чтобы отображались картинки по 50px выбранного декора! В общем, реализую это таким образом: 1. есть ресурс где все вариации перечислены в виде подресурсов; 2. В доп поле (тип множественный выбор) варианты ввода - SQL запрос и берем все варианты из того ресурса с вариантами; 2. В доп. поле в графе - вывод, сделал разделитель - "запятая"; 3. по сути на странице если выводить [[*field]], он нам выведет id выбранных вариантов, например: 123,143,86 и т.д. 4. Далее я подставляю это поле [[*field]] в pdoResources в параметр &resources и в виде картинок (чекбоксы), полученных из доп. полей этих ресурсов, вывожу варианты доступные для выбора на странице товара. В чанке для шопкипера сделал передачу доп. параметров в корзину как сказано в документации: <input type="checkbox" class="custom-control-input" id="[[+id]]" name="[[+id]]__[[*id]]__add" value="[[+id]]"> и по сути, все норм, в корзине выводятся айдишники выбранных декоров и я бы мог через сниппет (тот же pdoResources) вывести картинки по айдишникам, но блин при первом рендеринге страницы все выводится как надо, но когда отправляется аякс-запрос, картинки слетают и выводится часть сниппета как текст.0_1558348390073_testcake.PNG
    Как решить этот вопрос?! Как выводить изображения в корзине имея айдишник? Или как сделать, чтобы сниппеты выполнялись в корзине при аякс-запросе?
    п.с. временно решил: передаю в корзину путь картинки, а не id и картинки рисуются, но желательно бы еще pagetitle для аттрибута alt и т.д.

  • @unreal_serg Хотя, например, тот же плейсхолдер [[+image]] в корзине нормально обрабатывается любыми сниппетами, а [[+addit_data]] нет!!!

  • в корзине выводятся айдишники выбранных декоров и я бы мог через сниппет (тот же pdoResources) вывести картинки по айдишникам, но блин при первом рендеринге страницы все выводится как надо, но когда отправляется аякс-запрос, картинки слетают и выводится часть сниппета как текст

    Покажите как это делаете.

  • @Andchir
    Так я вывожу чекбоксы на странице товара, которые должны будут попасть в корзину:

                    [[!pdoResources?
                        &parents=`5`
                        &resources=`[[*fills]]`
                        &tpl=`fillsTpl`
                        &includeTVs=`image,price`
                        &templates=`12`
                        &limit=`0`
                        &sortby=`{"menuindex":"ASC"}`
                        &depth=`1`
                    ]]
    

    Чанк fillsTpl с оформлением чекбокса:

    <div class="checkbox-item">
        <input type="checkbox" class="custom-control-input" id="[[+pagetitle]]" name="[[+id]]__[[*id]]__add" value="[[+id]]">
        <label class="custom-control-label" for="[[+pagetitle]]">[[+pagetitle]]</label>
    </div>
    

    Чанк крзины shopCartRow:

    <tr class="cart-order">
        <td>
            <a href="[[+image]]" class="zoom">
                <img src="[[phpthumbon?&input=`[[+image]]`&options=`w=80&h=80&q=90&fltr[]=size`]]">
            </a>
        </td>
        <td align="left">
            <span class="product-name">
                <a href="[[+url]]">
                    [[+name]]
                </a>
            </span>
        </td>
        <td>[[+price]] [[+currency]]</td>
        <td align="center">
            [[!pdoResources?
                &parents=`5`
                &resources=`[[+addit_data]]`
                &tpl=`fillsCartTpl`
                &includeTVs=`image,price`
                &templates=`12`
                &limit=`0`
                &sortby=`{"menuindex":"ASC"}`
                &depth=`1`
            ]]
        </td>
        <td align="center">
            <a href="[[+url_del_item]]" title="Удалить" class="shk-del">
                <i class="fas fa-trash-alt"></i>
            </a>
        </td>
    </tr>
    

    Чанк fillsCartTpl:

    <img src="[[+tv.image]]" alt="[[+pagetitle]]" style="width: 50px">
    

    Вот при этой конструкции, картинки выводятся как надо, но корзина делает проверку после рендеринга страницы с корзиной и отправляет ajax-запрос, вот после этого запроса все пропадает!
    0_1558357372670_test2cakes.png

    ВОт после ajax'a
    0_1558357520737_test3cakes.png

  • В общем, вопрос решился - вызовом некешируемого снипеппета!!!! После ajax-запроса ничего не убирается!
    п.с. я очень надеюсь, что я не пропустил это в документации, иначе это просто ппц!

  • @Andchir мда, форум просмотрел, а туда то не заглянул! Спасибо!

 

Последние комментарии

  • это какое значение и где его оставить?

    Значение, которое было по умолчанию.

    //Название поля ID родителя $cf_config['parent_field'] = 'resource_id';

    Читать далее
  • Лучше редактировать шаблоны через админку. Там есть чекбокс "Очистить системный кэш".

    0_1566302652339_screenshot_195.png

    Также кэш можно очистить в настройках. Нужно очищать после редактирования шаблонов.

    0_1566302673468_screenshot_196.png

    Ещё в настройках есть параметр "Тема шаблонов". Можно скопировать папку "default" и создать свои шаблоны.

    0_1566302871928_screenshot_197.png

    Читать далее
  • D

    @Andchir
    http://joxi.ru/GrqZwZ5i40xlqm

    "оставьте значение, которое было"

    это какое значение и где его оставить?

    Читать далее
  • K

    Я установил shopkeeper 4.0.6

    В папке templates\default пытаюсь менять шаблоны
    base.html.twig
    category.html.twig
    content-page.html.twig
    и т.д.

    Когда меняю содержимое – ничего не изменяется. Когда удаляю шаблон ошибка - Unable to find template – т.е. я меняю шаблоны в нужной папке

    Есть какой-то кэш? Как им управлять? Как правильно менять шаблоны?

    Читать далее