• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Корзина убивает переменную $_POST

Image CMS

efess

Новичок
#1
Ну, не сразу и не всегда, но...

Вот тестовый товар http://test17.tested-ok.ru/?product=test-product
Добавляем в корзину, переходим в корзину http://test17.tested-ok.ru/?page_id=8
Корзина стандартная, только вверху я специально вывел переменную $_REQUEST, она же в данном случае $_POST
А в ней - содержимое полей страницы.

Видите к примеру в ее составе элемент $_POST['cart']['blablabla']['qty']?
Он отображает количество товара (Quantity). Все вроде бы хорошо, но попробуем изменить количество товара и пересчитать корзину (update cart). В этом случае содержимое переменной $_POST пропадает. И содержимое в ней стандартных полей корзины, и содержимое кастомных инпутов, селектов и тд, если я их добавлю в форму.

Так у меня вопрос, к тем, кто понимает что в этом случае происходит: Как в такой ситуации (при изменении количества товара и обновлении корзины) я могу получить в скриптах содержимое моего кастомного инпута?

Да, версия Woo крайняя 2.3.11, версия WP тоже, 4.2 (хотя впоролся я на этот прикол на других версиях), тема оформления стандартная 2014, чистая установка - плагинов нет.
 

efess

Новичок
#3
Если я не ошибаюсь, то все примеры, в том число и по ссылке внутри, посвящены тривиальному варианту: передаче значения дополнительного поля из карточки товара (сингл продукта) в корзину. С этим проблем нет, данные из карточки прекрасно стабильно попадают в $_POST и оттуда вытаскиваются хуками в WC()->cart.

У меня же немного другой случай: значение моего дополнительного кода изменяется в корзине, одновременно с ним изменяется значение поля quantity. И это убивает $_POST, соответственно измененное значение дополнительного поля я не могу получить. Хотя Quantity при этом можно получить в WC()->cart

Я не стал показывать в моем примере мое дополнительное поле для простоты. Потому что основной проблемой вижу именно убийство $_POST.
 

efess

Новичок
#4
Иными словами, проблема не в том, чтобы вставить в корзине поле, а в том, чтобы получить значение вставленного и измененного там поля при обновлении корзины, пусть даже не в переменной $_POST.
 
Сверху Снизу