Работа корзины в режиме мультивитрины происходит без проверки типа товара

3

Одна установка WA+SS. Два домена А и Б. Две разные темы дизайна.
Витрина А и для нее предназначены товары только типа А.
Витрина Б и для нее предназначены товары только типа Б.

Никаких проблем такое разделение типов не создает и все работает хорошо. Товары, категории, теги и т.п. всё красиво разнесено на две витрины.

Сразу уточню. Речь идет про зарегистрированного пользователя или пользователя бекенда. Технически с гостем такая ситуация нереальна и воспроизводима только в лабораторных условиях при доступе к БД, а с зарегистрированным пользователем будут скорее другие проблемы при попытке зарегистрироваться с теми же данными на второй витрине, но суть моего поста в следующем.

"Проблемы" начинаются тогда, когда товар добавляется в корзину. Допустим на одной витрине я добавляю в корзину один товар. На второй витрине тоже добавляю один товар. В корзинах на разных витринах я вижу теперь два товара по одному с каждой условно "недоступной" витрины.

При беглом осмотре таблицы shop_cart_item выясняется, что в магазине не осуществляется проверка типа товара type_id на соответствие витрине при выборе id товара только по code корзины, который записывается в куку shop_cart.

Гостевые корзины имеют разные code и с ними проблем нет, как уже ранее было сказано в уточнении.

Однако считаю отсутствие такой проверки на соответствие типов недоработкой и потенциальной ошибкой. Если делать привязку товаров к витринам, то делать её надо полноценно.

Корзина, в которой при разграничении по типам, могут встретиться товары с разных витрин - это не есть правильно. Пусть даже эта корзина искуственно смоделирована зарегистрированным пользователем и возможна лишь теоретически.

2 комментария

  • +1
    Алексей Алексей Webasyst 28 марта 2020 17:08 #

    Для каждого домена ставится свой идентификатор в cookie, поэтому для гостя они не будут пересекаться.
    Если же 1 зарегистрированный клиент использует оба сайта и у вас в настройках включено объединение корзины, то может быть пересечение.

    • +1
      replicant replicant 28 марта 2020 17:29 #

      Если под объединением корзины имеется ввиду настройка под более точным названием "Синхронизировать товары в корзине авторизованного покупателя на всех устройствах.", то это не то и работает она не так и на проверку типов не влияет никак вообще.

      Если же объединение корзины - это что-то принципиально иное, то хотелось бы узнать подробности.

      Речь про отсутствие проверки типа товара в корзине. Вышеописанная ситуация воспроизводится в одном браузере на соседних вкладках буквально на раз-два. Сильно не парит, т.к. воспроизводимость ситуации для внешнего покупателя маловероятна. Однако проверки нет, а логично, чтобы была.

      Иначе зачем нужны танцы с мультивитринами, типами и т.п., если типы не проверять?

      Добавить комментарий

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