Сохранить
Сохраняем
  • U
    unreal_serg

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

    написал в Общие вопросы Читать далее
  • U
    unreal_serg

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

    написал в Общие вопросы Читать далее
  • U
    unreal_serg

    @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

    написал в Общие вопросы Читать далее
  • U
    unreal_serg

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

    написал в Общие вопросы Читать далее
  • U
    unreal_serg

    Добрый день! Возникла такая задача: на странице товара сделать выбор, скажем декора для торта! Выбрать можно 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 и т.д.

    написал в Общие вопросы Читать далее
  • U
    unreal_serg

    Доработал модуль. Добавил возможность создания промокодов, где имя задаете вы. Также там задается не количество, а время действия и ведется счетчик использования!
    Доработана MySql-схема, созданы необходимые классы, в общем, все как надо. Если кому нужно - пишите.0_1556018715579_promocodes.png

    написал в Общие вопросы Читать далее
  • U
    unreal_serg

    Здравствуйте! Необходимо сделать прибавление количества товара не по 1, а по определенному числу, находящемуся в ТВхе. Например, продажа товара, который продается пачками! Цена указывается за 1 шт, а всего 32шт в пачке, т.е. когда мы нажимаем "в корзину", появляется хелпер и там количество (input-count) должно быть 32, а не 1 как по умолчанию! И когда мы нажимаем + т.е. прибавить количество то прибавляться должно на 32 т.е. 32 -> 64 -> 98 и т.д. При этом товары разные и количество штук в пачках разное - 32, 9, 100 и др., а это количество штук в пачке хранится в ТВхе, ну скажем quantity. Подскажите, пожалуйста, как это реализовать.
    Я начал с того, что добавил в чанк sendtobasketinlist скрытый Input:
    <input type="hidden" name="shk-quant" value="[[+tv.quantity]]">
    Далее я полез в assets/components/shopkeeper3/web/js/shopkeeper.js, нашел там метод прибавления товара - setCounterToField, далее пытался сделать, чтобы в if( ii == 1 ) el.val( cnt + 1 ); вместо 1 подставлялось число из скрытого input, но проблема возникла с идентифицированием скрытого input у конкретного товара, ведь их на странице как минимум 12.
    В целом, я знаком с основами JSовского ООП, но опыта мало, чтобы быстро разобраться в чужом коде! Надеюсь на Вашу помощь!

    написал в Поддержка Читать далее
  • U
    unreal_serg

    Отлично! Это помогло! Спасибо!

    написал в Поддержка Читать далее
  • U
    unreal_serg

    @andchir параметры доставки, которые укажет посетитель сайта для расчета! Ну, например, сайт по доставке сейфов. Если вес более 50кг то 10р за 1 кг будет стоимость доставки + 200р (если на лифте) либо + 100р за каждый этаж если нет лифта.
    То есть, приблизительные параметры, которые надо передать в плагин:

    1. Общий вес всех товаров в корзине;
    2. Количество этажей;

    написал в Поддержка Читать далее
  • U
    unreal_serg

    @andchir В общем, я пробовал по-разному добиться попадания параметров для расчета в плагин, но все как то не очень... через сессии - не вариант) Если Вы мне подскажете хотя бы как у Вас реализована функция обновления общей цены, допустим, при изменении количества товара? Просто не хотелось бы тратить много времени на изучение всей архитектуры приложения, если Вам не сложно, конечно!

    написал в Поддержка Читать далее