Добавление товара как в корзине на странице товара
Добрый день!
Подскажите пожалуйста как на странице товара добавлять товар по такому же принципу как в корзине?
Т.е. в поле кол-во указывается не сколько добавить, а сколько должно быть?
Версия 2.1.2.
В форме указываю экшен как в корзине «cart/change» но не работает по причине того, что нет ключа у еще не добавленного товара, как быть?
Подскажите пожалуйста как на странице товара добавлять товар по такому же принципу как в корзине?
Т.е. в поле кол-во указывается не сколько добавить, а сколько должно быть?
Версия 2.1.2.
В форме указываю экшен как в корзине «cart/change» но не работает по причине того, что нет ключа у еще не добавленного товара, как быть?
Комментарии: 14
По идее можно сперва указать экшен «cart/add», а затем сменить экшен после первого добавления товара в корзину и прописать ключ через js, но тогда нужно как-то подрубить callback на добавление товара в корзину с экшеном «cart/add», может кто подскажет как/куда?
Нашел… но неужели это единственный способ, ни чего более простого и готового нет?
cart\add добавляет указанное кол-во товара.
cart\change меняет количество добавленного товара.
Если товар в корзине уже существует, то при add будет change. Что тут может быть не понятно?
cart\change меняет количество добавленного товара.
Если товар в корзине уже существует, то при add будет change. Что тут может быть не понятно?
cart\add — прибавит к существующему кол-ву товаров столько сколько я укажу в поле, но мне же нужно, чтобы при загрузки страницы отображать сколько товаров уже есть в корзине и при помощи + или — менять реальное кол-во товара в корзине, без нажатия кнопки купить. Зайдя на страницу товара пользователь всегда будет видеть сколько этого товара уже есть в корзине и при желании может его поменять. В общем хочется получить возможность управлять кол-вом товара на странице самого товара по принципу идентичному как изменятся кол-во товара на странице корзины.
Ну так вставь в поле выбора количества свой сниппет, который выведет не единичку, а количество товара в корзине.
Тогда он будет прибавлять к существующему кол-ву товара текущее кол-во товара, а не менять на указанное.
Ну так измени и action в форме, если товар уже есть в корзине.
Прояви фантазию.
Прояви фантазию.
В данный момент проявляю))) Способ я написал выше, жаль по дефолту такого нет… в принципе, нужно научить cart\change возвращать ключ, если товара не было еще в корзине и прописывать его в форму и все.
По дефолту есть возможность заменить класс корзины своим, и прописать любую логику.
И никаких извращений.
И никаких извращений.
Пичаль какая-то, config.js (minishop2/web/config.js) каждый раз при запуске minishop2 перезаписывается:
if (file_put_contents($this->config['jsPath'] . 'web/config.js', $config_js)) {
$this->modx->regClientStartupScript($this->config['jsUrl'] . 'web/config.js');
}
else {
$this->modx->regClientStartupScript("<script type=\"text/javascript\">\n".$config_js."\n</script>", true);
}
как же тогда прописать свои callback функции? Причем этот конфиг файл подключается в обязательном порядке
Конечно, печаль, если не понимать, что делаешь.
Калбеки нужны для того, чтобы прописать в них свой код, а MS2 его выполнит при наступлении события. Например, вот так:
Калбеки нужны для того, чтобы прописать в них свой код, а MS2 его выполнит при наступлении события. Например, вот так:
miniShop2.Callbacks.Cart.add.response.success = function(response) {
$('#myModal').modal();
};
Вызов модального окна при добавлении товара в корзину.
На всякий случай — прописывать нужно в любом своём скрипте, не в miniShop2.
Это позволяет задать произвольное действие в любой момент выполнения скрипта.
Это позволяет задать произвольное действие в любой момент выполнения скрипта.
да уже понял, удобная штука, спасибо
Небольшая поправочка если не понимать КАК делать, искал поиском и в мануалах по быстрому — увы не нашел.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.