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


Можно ли штатными средствами 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 не так подробно описано.

 

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

  • Z

    Спасибо, действительно проще создать отдельно.

    Читать далее
  • Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]].

    Можно не использовать [[+addit_data]], а выводить параметры по-отдельности.

    Цитата из документации:

    [[+shk_любой доп.параметр]] - любой доп. параметр, выбранный при добавлении товара в корзину (из [[+addit_data]]), например [[+shk_param1]].
    Если параметры сделаны в виде чекбоксов, то чтобы вывести отдельно каждый из них, нужно добавлять индекс (номер от нуля) для параметров следующих за первым.
    Пример: [[+shk_param1]], [[+shk_param1_1]], [[+shk_param1_2]] ...
    [[+shk_любой доп.параметр_price]] - цена доп.параметра. Пример: [[+shk_param1_price]].

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

    Доброго времени суток. Не могу разобраться, как передать данные migx-поля в корзину в плейсхолдер без "дублирования" в [[+addit_data]]
    Суть в чем: У меня есть 2 цены у товара (со скидкой и без скидки) Форма для отправки в корзину:

    <form action="[[~[[*resource_id]]? &scheme=`abs`]][[*alias]].html" method="post"> <input type="hidden" name="shk-id" value="[[*id]]" /> <input type="hidden" name="shk-name" value="[[*pagetitle]]" /> <input type="hidden" name="price_old__[[*id]]__add" value="[[*price_old]]" /> <input type="hidden" name="shk-count" value="1" /> <div class="product-price"> Цена: <span class="shk-price">[[!*price:shk_curr_rate:num_format]]</span> Старая цена - <span class="shk-price-old">[[+price_old]]</span> [[!+shk_currency]] </div> <div class="padding-lr-30"> <h5>Дополнительные услуги</h5> [[*param1]] </div> <div class="product-price"> <button class="btn btn-lg btn-primary" type="submit" class="shk-but">В корзину</button> </div> </form>

    Данные со "старой ценой" в корзину попадают нормально и выводится в нужном месте в плейсхолдере:
    [[+shk_price_old]]
    Но проблема в том, что эта старая цена "дублируется" в плесхолдер "Дополнительных услуг" - [[+addit_data]]. Как сделать чтобы старая цена не выводилась в [[+addit_data]]? Или может я как то не правильно передаю MIGX-параметр в корзину ? Заранее спасибо.

    Читать далее
  • Фотографии, как я понял, это второй вопрос. Я по нему пока ничего не отвечал и не просил информации. Это не отменяет того, что в вашем конфиге есть ошибка, о которой я писал выше. Не нужно задавать разные вопросы в одной теме, чтобы не было путаницы.
    http://forum.modx-shopkeeper.ru/topic/15/рекомендации-по-оформлению-темы-с-вопросом

    Читать далее