esistema1 Опубликовано 16 января, 2018 Жалоба Поделиться Опубликовано 16 января, 2018 Всем доброго вечера! На сайте установлен модуль автоматического переноса клиентов в группы в зависимости от суммы выполненных заказов. Перенос производится когда в админке в самом заказе (не на странице заказов) меняешь статус на выполнен и нажимаешь сохранить. Все отрабатывает корректно. Код который отвечает за перенос в файле OrderAdmin if($order->user_id)$this->users->check_user_group($order->user_id); А вот когда переносишь заказ в выполненные со страницы заказов - то пересчет не производится и группа у клиента не меняется. Попробовал вставить вот такой код в файл OrdersAdminif($o->user_id)$this->users->check_user_group($o->user_id); Но ничего не получилось. Вставляю вот в это место: case 'set_status_2': { foreach($ids as $id) { if(!$this->orders->close(intval($id))) $this->design->assign('message_error', 'error_closing'); else $this->orders->update_order($id, array('status'=>2)); $this->notify->email_order_user($id); if($o->user_id) $this->users->check_user_group($o->user_id); } break; Помогите пожалуйста разобраться в чем дело.. Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 16 января, 2018 Автор Жалоба Поделиться Опубликовано 16 января, 2018 Если указать вот так $this->users->check_user_group(308); - т.е. вписать user_id цифрой то все работает, т.е. ошибка вот здесь $o->user_id.Как правильно написать ($order->user_id - пробовал)? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 16 января, 2018 Жалоба Поделиться Опубликовано 16 января, 2018 Попробуйте intval($o->user_id) Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 16 января, 2018 Автор Жалоба Поделиться Опубликовано 16 января, 2018 $this->users->check_user_group(intval($o->user_id)); - не работает Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 16 января, 2018 Жалоба Поделиться Опубликовано 16 января, 2018 $this->users->check_user_group(intval($o->user_id)); - не работаетВ симпле нет такой функции. Опишите что вам нужно. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 16 января, 2018 Жалоба Поделиться Опубликовано 16 января, 2018 А что такое $oГде вы его взяли?Может надо сначала так? $o = $this->orders->get_order($id); Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 16 января, 2018 Автор Жалоба Поделиться Опубликовано 16 января, 2018 А что такое $oГде вы его взяли?Может надо сначала так? $o = $this->orders->get_order($id); Вот так тоже не работает$o = $this->orders->get_order($id);$this->users->check_user_group($o->user_id); Чуть выше в коде файла OrdersAdmin есть строка $o = $this->orders->get_order(intval($id)); вот отсюда я и решил подставлять $o - но не уверен что правильно. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 16 января, 2018 Жалоба Поделиться Опубликовано 16 января, 2018 Пробуйте тогда$o = $this->orders->get_order(intval($id)); Цитата Ссылка на сообщение Поделиться на другие сайты
esistema1 Опубликовано 16 января, 2018 Автор Жалоба Поделиться Опубликовано 16 января, 2018 (изменено) В симпле нет такой функции.Опишите что вам нужно. Это доработка - функция переносит клиентов в разные группы в зависимости от суммы заказов. Переносит при изменении статуса заказа в самом заказе, но не работает на странице всех заказов (там тоже можно заказ в выполненные перенести). А по большому счету мне надо в файле OrdersAdmin прописать user_id клиента, например вот так когда ввожу $this->users->check_user_group(308) - то все работает. Вот что надо вместо 308 туда вписать не могу разобраться. P.S. 308 это user_id клиента. Спасибо ОГРОМНОЕ! $o = $this->orders->get_order(intval($id)); - это сработало!!! Изменено 16 января, 2018 пользователем esistema1 Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.