Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

OCappLab

Користувачі
  • Публікації

    558
  • З нами

Усі публікації користувача 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 и цену ставите для определенной группы. Человек если авторизирован будет и имея определенную группу, то будет видеть цену для товара своей группы.
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.