KVS17
@KVS17

Как с формой заказа передать то, что лежит в корзине?

Добрый день!
Есть такая задача
%D0%9A%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0.jpg-%D0%B8-%D0%9A%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B02.jpg.png
Магазин сделан на wordpress с использованием плагина WooCommerce, для отправки данных используется форма сформированная плагином Contact Forms 7.
Как сделать так что бы данные о заказанном товаре передавались вместе с личными данными через форму отправки?
Спинным мозгом я понимаю что нужно сделать
1. Получить данные из корзины: выдернуть их javascript-ом из <tr class="cart_table_item">
2. сохранить их в переменную
3. отправить вместе с другими данными через контактную форму
Подскажите по пунктам, как решить такую задачу.
  • Вопрос задан
  • 4528 просмотров
Решения вопроса 1
Без правки плгина Contact Forms 7 наверное никак.
Выдираете линк товара (хотя лучше ID товара), создаете поле hidden с этим ID, дальше подправить плагин чтобы он отправил это поле.
Второй, более хитрый способ: непомню правда есть ли в Contact Forms 7 скрытые поля в конструкторе, если есть, тогда создаете скрытое поле с id, далее скриптом выдираете ID записи товар(а/ов), и вставляете в скрытое поле (при нескольких товаров вставляете через запятую). Далее нужно поискать фильтр в Contact Forms 7, использую которые можно будет заменить эти ID записей на линки. К примеру можно попробовать эти: "wpcf7_mail_components", "wpcf7_display_message", или еще поискать подходящий. В общем нужно найти фильт обработки данных перед отправкой и заменить нужный код
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Anonym
@Anonym
Программирую немного )
Данные корзины лежат в сессии или в куках. Вы их можете прочитать на сервере и с клиента их передавать не нужно.
Ответ написан
@Arik
К сожалению не знаком с текущими плагинами, но может можно полям задать форму явно?
htmlbook.ru/html/input/form

Тогда все данные пойдут с нужной формой.
Ответ написан
Комментировать
KVS17
@KVS17 Автор вопроса
По первому пункту
<script type="text/javascript">
jQuery(document).ready(function($){   
var getvalue1 = $('td.product-name').text();
var getvalue2 = $('td.product-price').text();
})
</script>

К примеру, если в корзине 2-а товара, то в переменной getvalue1 я вижу два названия товара через запятую, соответственно в getvalue2 находятся две цены через запятую.
Вопрос как объединить значения getvalue1 и getvalue2 перед передачей в форму так, что бы они приняли удобно читаемый формат?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы