[ERROR#1] База знаний — DIAFAN.CMS

База знаний

18.06.2015

Проблема

Как сделать, чтобы при отправке быстрого заказа сайт не переходил на страницу /shop/cart/done/, а оставался на этой странице? Т.е. человек ввел данные и его не перебрасывало никуда, а вывелось сообщение, что заявка получена и менеджер в ближайшее время с ним свяжется.

Решение

Обработка формы идет в функции order() файла modules/cart/cart.action.php.

Если в этой функции определена переменная $this->result["redirect"], то по завершении обработки формы пользователя перекинет на страницу, указанную в этой переменной (смотрите http://www.diafan.ru/dokument/full-manual/developers/architecture/module/js/#Standartnaya-obrabotka-Ajax-zaprosov).

Можно в конце функции указать:

if($_POST["action"] == "one_click")
{
    
$this->result["redirect"] = '';
    
$this->result["errors"][0] = 'Заявка получена. Менеджер в ближайшее время с Вами свяжется.';
}

Methods with the same name as their class will not be constructors in a future version of PHP; Markdown_Parser has a deprecated constructor
#1 include_once() called at [/var/www/diafan/data/www/diafancms.com/modules/solution/solution.model.php:148]
#2 Solution_model->id() called at [/var/www/diafan/data/www/diafancms.com/modules/solution/solution.php:36]
#3 Solution->init() called at [/var/www/diafan/data/www/diafancms.com/includes/init.php:474]
#4 Init->module() called at [/var/www/diafan/data/www/diafancms.com/includes/init.php:119]
#5 Init->start() called at [/var/www/diafan/data/www/diafancms.com/index.php:62]
/var/www/diafan/data/www/diafancms.com/modules/solution/solution.model.php:148