Общий остаток на все варианты товара

Есть весовой товар на складе, допустим 10 кг. Продается расфасованным по 250 г и 1000 г.
Цены не пропорциональные, т.е. 250 г. не в 4 раза дешевле 1000 г.

Поэтому я для каждого товара создал варианты по весу и указал цену на каждый вариант.

Теперь стоит задача не дать купить больше 10 кг. Покупать могут по разному: могут 10 упаковок по 1 кг, а могут 40 упаковок по 250 г.

Как реализовать простым способом?
Смотрел хук cart_add. Т.е. отключить встроенную проверку лимита и проверять в плагине.
Но судя по коду так не получится, т.к. хук срабатывает уже после всех проверок и вернуть ошибку из него не получится.

1 ответ

  • 1
    enso_studio@mail.ru 9 октября 2018 04:28 #

    Я так понимаю плагин для своей же темы пишете? Если так, то просто сделайте в шаблонах проверку по хар-ке weight артикулов добавляемого товара и  ограничьте кол-во которое можно добавить в корзину, либо просто в корзине удаляйте лишнее и возвращайте пользователю сообщение о том что больше 10кг в одни руки ни-ни.

    • +1
      realevd realevd 9 октября 2018 19:17 #

      Как вариант, но тогда получается проверки все на JS. Там не в одни руки, а на всех 10 кг.
      И если на сайте одновременно 2-3 пользователя покупают один товар, то могут купить больше 10 кг в сумме.

      Хотя все равно надо будет делать еще дополнительную проверку в чекауте, т.к. скорей всего списание будет при заказе, а не добавлении в корзину.

      • +1
        enso_studio@mail.ru enso_studio@mail.ru 9 октября 2018 23:11 #

        не в js, а в шаблоне + js. а в чем проблема? вы создали определенное кол-во товара - больше купить чисто технически не смогут.

        корей всего списание будет при заказе, а не добавлении в корзину.

        зависит от настроек складов (магаз-настройки-склады)

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите