Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Добавление товара в корзину при клике/отправке формы
10ответ(ов) в теме
Николай
не в сети 3 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
1
15:34
Версия WP-Recall: 16.17.8

Задача стоит следующая:

Необходимо, чтобы после отправки формы аяксом мы заходили в корзину и там уже был товар

$.ajax({
  ...
  }).done(function() {
     window.location.href = "/rcl-cart";
  });
});

Можно ли сделать так чтобы отправлялась необходимая форма и добавлялся товар в корзину.
Т.е. чтобы не нужно было отдельно нажимать на ссылку добавления товара в корзину

Редакции сообщения
06.05.2019 15:35НиколайПричина: не указано
06.05.2019 16:00НиколайПричина: не указано
0
Андрей CS
не в сети 21 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16864
2
16:26

пробуйте добавить товар в корзину на стороне php

$Cart = new Rcl_Cart();
$Cart->add_product( $product_id );

0
Николай
не в сети 3 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
3
16:51

К сожалению "Ваша корзина пуста."

0
Андрей CS
не в сети 21 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16864
4
16:53

покажите весь ваш код

0
Николай
не в сети 3 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
5
17:01

Шаблон.php

<form id="sim-form">
  бла-бла-бла
</form>

js

  $("#sim-form").submit(function() {
    var th = $(this);
    $.ajax({
      type: "POST",
      url: "/mail2.php",
      data: th.serialize()
    }).done(function() {
      setTimeout(function() {
        window.location.href = "rcl-cart";
      }, 1000);
    });
    return false;
  });

mail2.php

<?php
$product_id = 32;
$Cart = new Rcl_Cart();
$Cart->add_product( $product_id );

0
Андрей CS
не в сети 21 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16864
6
17:06

а есть уверенность, что класс Rcl_Cart определен?

0
Николай
не в сети 3 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
7
17:13

Да.

Warning
: Missing argument 2 for Rcl_Cart::add_product(), called in D:\_SERVER\OSPanel\domains\proton.loc\wp-content\themes\proton\page-connection.php on line 248 and defined in
D:\_SERVER\OSPanel\domains\proton.loc\wp-content\plugins\wp-recall\add-on\commerce\classes\class-rcl-cart.php
on line
60

Warning
: Cannot modify header information - headers already sent by (output started at D:\_SERVER\OSPanel\domains\proton.loc\wp-includes\class.wp-styles.php:242) in
D:\_SERVER\OSPanel\domains\proton.loc\wp-content\plugins\wp-recall\add-on\commerce\classes\class-rcl-cart.php
on line
186

Редакции сообщения
06.05.2019 17:14НиколайПричина: не указано
06.05.2019 17:15НиколайПричина: не указано
0
Андрей CS
не в сети 21 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16864
8
17:19

а если так

$Cart->add_product( $product_id, array(
    'quantity' => 1
) );

0
Николай
не в сети 3 года
На сайте с 25.01.2019
Участник
Тем 4
Сообщения 16
9
17:23

Warning
: Cannot modify header information - headers already sent by (output started at D:\_SERVER\OSPanel\domains\proton.loc\wp-includes\class.wp-styles.php:242) in
D:\_SERVER\OSPanel\domains\proton.loc\wp-content\plugins\wp-recall\add-on\commerce\classes\class-rcl-cart.php
on line
186

Редакции сообщения
06.05.2019 17:24НиколайПричина: не указано
0
Андрей CS
не в сети 21 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16864
10
09:28

class-rcl-cart.php on line 186

видимо тут класс пытается записать данные в куки, а ему не дают из того, что заголовки были уже отправлены, видимо где то ранее происходит вывод контента

0
Вы не имеете права на публикацию сообщений в этой теме