Можно ли штатными средствами SHK вывести суммы при которых доставка бесплатная?



  • Собственно в этом вопрос. Нужно на странице доставки вывести, что при доставке от определенной суммы доставка бесплатно. Как вывести эту сумму из настроек SHK?



  • @slaad Так пропишите текстом, что доставка бесплатна при сумме заказа столько то рублей на странице где вам этот текст нужен.. Эта сумма указывается в настройках Shopkeeper. Там её и пропишите, допустим 2000 рублей. Т.е начиная с этой суммы заказа доставка бесплатна будет для Shopkeeper. В письме покупателю и на тсранице оформления это будет отображено и так, что доставка 0 рублей.



  • @anton83 сказал Можно ли штатными средствами SHK вывести суммы при которых доставка бесплатная?:

    @slaad Так пропишите текстом, что доставка бесплатна при сумме заказа столько то рублей на странице где вам этот текст нужен.. Эта сумма указывается в настройках Shopkeeper. Там её и пропишите, допустим 2000 рублей. Т.е начиная с этой суммы заказа доставка бесплатна будет для Shopkeeper. В письме покупателю и на тсранице оформления это будет отображено и так, что доставка 0 рублей.

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

    Бесплатная доставка зависит от суммы заказа. Очевидно, что в развивающемся проекте сумма заказа при которой действует бесплатна доставка будет меняться. Вы предлагаете прописывать вручную на странице и дополнительно в параметрах ШК. Вот тут и вступают принципы нормальной разработки - в живых проектах, если какой-то параметр нужно обновлять в 2-х местах, будьте уверены, что в одном из мест его будут постоянно забывать обновлять. Поэтому все динамические параметры должны быть изменяемы только в одном месте.



  • @slaad Вы меня не правильно поняли и Shopkeeper не изучили (документацию не прочитали). В настройках его указывается сумма заказа от которой он будет считать что доставка бесплатная. Эту суммы вы один раз прописали в настройках. Далее Shopkeeper считает все сам. Подсчитывает сумму заказа и если она меньше той что вы указали в настройках, то выдает что доставка столько стоит (как вы указали в настройках доставки), если равна или выше, то выдает что доставка 0 рублей, т.е бесплатна. Вам это и нужно ведь реализовать. Но пользователю на странице гдле вам нужно просто дайте знать текстом, что от такой то суммы у нас в магазине доставка бесплатна. Тут ничего сложного нет. Вот скрин вам:
    ![alt text](image url)0_1477254375142_QIP Shot - Screen 228.jpg
    Где тут, что нужно на каждой странице самому указывать и самому каждый раз считать?



  • @anton83
    вы показали бекенд, как теперь то же самое вывести во фронтенде?
    Т.е. как на странице товара или доставки вывести, что при сумме от 3К доставка бесплатно и чтобы это подтягивалось из настроек ШК, а не приходилось залезать и в ШК и в шаблон товара/доставки, чтобы обновить цифры?



  • @slaad Скорей всего самописный плагин делать, который будет сравнивать все время shk.price_total общую сумму товаров в корзине с суммой которую вы укажите (от которой доставка бесплатная) или вытянуть из модуля shopkeeper. Посмотреть в исходниках где она прописана.. Если она меньше, то выводить что до бесплатной доставки столько то осталось. Плагин нужно вешать на событие OnSHKAfterAddProduct.


  • Администраторы

    Через shkOptions не пробовали?
    http://wiki.modx-shopkeeper.ru/doku.php?id=shkoptions



  • @Andchir
    Спасибо, то что нужно, забыл про него совсем.

    Для тех, кто будет пытаться повторить, небольшая подсказка, т.к. документация немного сухо написана.
    Итак, в вызове:

    [[!shkOptions?
    &get=`delivery`
    &post_name=`shk_delivery`
    &toPlaceholders=`1`
    &pl_prefix=`shkopt_`
    &tpl=`select_option`
    ]]
    

    Поле delivery - это название поля таблицы с настройками SHK по доставке. В этом поле в формате многомерного массива в виде пар ключ- значение содержаться все параметры доставки, включая условия, цену и сумму при которой доставка бесплатная.

    Примерно так

    [{"label":"стандартная доставка",
    "price":"600",
    "free_start":"5000",
    "id":1}, ......
    }]
    

    Дальше нужно просто чанке &tpl=`select_option` вывести все эти поля. Вот в таком виде:

    <option value="[[+value]]" [[+selected]]>[[+label]] ([[+price]]руб.) доставка бесплатно при сумме от [[+free_start]]</option>
    

    Просто в примере wiki не так подробно описано.



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

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.