Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

OCappLab

Users

Everything posted by OCappLab

  1. Это понятно. Вопрос в другом заключался, зачем использовать сессию в данном случае, если можно использовать переменную? Тоисть сделать вместо этого: Сделать так: И соответсвенно заменить все $this->session->data['last_order_id'] на $last_order_id
  2. В админке, да, оно то есть. А в контроллере checkout/success (отвечает за страницу завершения заказа) этого нет. И нужно делать дополнительный запрос, чтоб вытянуть статус заказа (его id, например) и по нему делать проверку. Или, если у Вас для всех оплат стоит один статус заказа и Вы точно знаете, что после оплаты деньги поступят, тогда можно использовать спокойно Вот этот вариант. Только разместить его нужно где-то в конце этой проверки: if (isset($this->session->data['order_id'])) { $this->cart->clear(); // Add to activity log if ($this->config->get('config_customer_activity')) { $this->load->model('account/activity'); if ($this->customer->isLogged()) { $activity_data = array( 'customer_id' => $this->customer->getId(), 'name' => $this->customer->getFirstName() . ' ' . $this->customer->getLastName(), 'order_id' => $this->session->data['order_id'] ); $this->model_account_activity->addActivity('order_account', $activity_data); } else { $activity_data = array( 'name' => $this->session->data['guest']['firstname'] . ' ' . $this->session->data['guest']['lastname'], 'order_id' => $this->session->data['order_id'] ); $this->model_account_activity->addActivity('order_guest', $activity_data); } } unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); unset($this->session->data['guest']); unset($this->session->data['comment']); unset($this->session->data['order_id']); unset($this->session->data['coupon']); unset($this->session->data['reward']); unset($this->session->data['voucher']); unset($this->session->data['vouchers']); unset($this->session->data['totals']); } Чтоб очистилась корзина и сессии. Получится, примерно так: if (isset($this->session->data['order_id'])) { $this->cart->clear(); // Add to activity log if ($this->config->get('config_customer_activity')) { $this->load->model('account/activity'); if ($this->customer->isLogged()) { $activity_data = array( 'customer_id' => $this->customer->getId(), 'name' => $this->customer->getFirstName() . ' ' . $this->customer->getLastName(), 'order_id' => $this->session->data['order_id'] ); $this->model_account_activity->addActivity('order_account', $activity_data); } else { $activity_data = array( 'name' => $this->session->data['guest']['firstname'] . ' ' . $this->session->data['guest']['lastname'], 'order_id' => $this->session->data['order_id'] ); $this->model_account_activity->addActivity('order_guest', $activity_data); } } unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); unset($this->session->data['guest']); unset($this->session->data['comment']); unset($this->session->data['order_id']); unset($this->session->data['coupon']); unset($this->session->data['reward']); unset($this->session->data['voucher']); unset($this->session->data['vouchers']); unset($this->session->data['totals']); // REDIRECT $this->response->redirect($this->url->link('account/download')); } Лучше это делать через модификатор, чтоб не править основные файлы CMS
  3. С другой стороны, так не сильно правильно делать. Или делать только 100% уверенности, что заказ оплачен. Для этого поставить проверку по статусу заказа. И в этом методе есть ещё один минус, при оплате без регистрации нет доступа к странице account/download
  4. Код только этот разместите после очистки сессий. Иначе не будет очищаться корзина.
  5. И, наверное, больше вопрос. Подскажите, пожалуйста, зачем в файле: catalog/controller/checkout/success.php используете сессию: Нигде она кроме как в этом файле, больше не используется. Не проще было бы сделать переменную и ее потом дальше в этом файле использовать?
  6. Замечены ошибки при редактировании заказа, а точнее при изменении его статуса. Решается отключением события: И чего-то не понятно, чего два раза одни и теже события добавлены, так как Тригер и Действия у них одинаковы. p.s. Забыл еще написать, что модуль Рассылки Unisender Выключен (даже вообще не добавлен) при этом.
  7. Возможно такое сделать. У товара есть вкладка «Скидки» Можно указать цены для групп там. В поле количество указываете 1 и цену ставите для определенной группы. Человек если авторизирован будет и имея определенную группу, то будет видеть цену для товара своей группы.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.