msOrder для услуги
Всем привет! Прошу совета
На странице услуги хочу сделать следующее:
3 input'а, стоимость и кнопка заказать. Заполнение формы и нажатие на кнопку сразу перебрасывает на платежный терминал (robokassa).
Думаю для данной связки использовать minishop2 потому что:
1) автоматическая отправка писем о получении заказа и ссылка на платеж, если тот не удался / был сброшен. Соответственно, отслеживание и изменение статусов в админке, догонка и пр.
2) интеграция с robokassa
Вопрос лишь в том, как вывести msOrder с передачей в него нужного товара. Т.е. чтобы на странице услуг сразу был msOrder с параметрами данной услуги. Может как-то можно в msCart при выводе сразу добавить конкретный товар? В документации прямого указания на это не нашел…
На странице услуги хочу сделать следующее:
3 input'а, стоимость и кнопка заказать. Заполнение формы и нажатие на кнопку сразу перебрасывает на платежный терминал (robokassa).
Думаю для данной связки использовать minishop2 потому что:
1) автоматическая отправка писем о получении заказа и ссылка на платеж, если тот не удался / был сброшен. Соответственно, отслеживание и изменение статусов в админке, догонка и пр.
2) интеграция с robokassa
Вопрос лишь в том, как вывести msOrder с передачей в него нужного товара. Т.е. чтобы на странице услуг сразу был msOrder с параметрами данной услуги. Может как-то можно в msCart при выводе сразу добавить конкретный товар? В документации прямого указания на это не нашел…
Комментарии: 4
Вот код, который создаёт заказ из конкретного товара.
public function createOrder()
{
$ms2 = $this->modx->getService('minishop2');
$ms2->initialize('web');
if (empty($ms2->cart->get())) {
$this->logging->writeLog('Orderformhandler::createOrder', 'Не добавлен ни один курс.');
return array('success' => false, 'message' => 'Не добавлен ни один курс');
}
$ms2->order->config['json_response'] = true;
$ms2->order->add('receiver', $this->data['fullname']);
$ms2->order->add('phone', $this->data['phone']);
$ms2->order->add('delivery', $this->data['delivery']);
$ms2->order->add('payment', $this->data['payment']);
$ms2->order->add('region', $this->data['state']);
$ms2->order->add('city', ($this->data['city'] ?: $this->data['state']));
$ms2->order->add('index', $this->data['zip']);
$response = $ms2->order->submit();
$this->logging->writeLog('Orderformhandler::createOrder', 'Заказ успешно создан.', $response);
if ($response['order_id']) {
$newName = $this->base_path . $this->logdir . $response['order_id'] . '.txt';
rename($this->logpath, $newName);
unlink($this->logpath);
$this->logging->logpath = $newName;
}
return $response;
}
К сожалению не знаю как это применить( Пробовал создать новый сниппет, но в 1ой строке ошибка. Знаний PHP не хватает…
Вы тогда в раздел «Работа» обратитесь, там помогут, не бесплатно, конечно.
Да понятно… И обращался не раз, и с Вами работали в том числе)
Думал, просто, удастся в данном случае как-то передать товар в стандартную конструкцию.
Может через QuickView попробовать…
Думал, просто, удастся в данном случае как-то передать товар в стандартную конструкцию.
Может через QuickView попробовать…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.