-
Публикаций
25 -
Зарегистрирован
-
Посещение
Достижения Granled
-
Редактирование суммы заказа в админ панели
Granled ответил в теме пользователя Granled в Opencart 2.x: Настройка и оптимизация
Спасибо большое! -
Редактирование суммы заказа в админ панели
Granled ответил в теме пользователя Granled в Opencart 2.x: Настройка и оптимизация
Можно. Но мы ж легкими путями не ходим. -
Редактирование суммы заказа в админ панели
Granled ответил в теме пользователя Granled в Opencart 2.x: Настройка и оптимизация
Не совсем понял о чем Вы. -
Редактирование суммы заказа в админ панели
Granled ответил в теме пользователя Granled в Opencart 2.x: Настройка и оптимизация
Спасибо за замечания. Изменение суммы заказа связано с характером магазина - оптовые закупки, плюсом сотни наименований в одном заказе. В ходе согласования заказа в любом случае вносятся изменения (заказчик хочет что то изменить, чего то нет на складе и прочее). При оплате картой через сайт эквайринговые системы берут именно тотал. Собственно менеджер меняет сумму и клиент платит ее. Гораздо удобнее и быстрее, чем мучатся с наценками, или редактировать таблицу товаров. -
Первое: я не программист пхп, даже до говнокодера не дотягиваю. Второе: решение неполное, говняцкое и с ошибкой (некритичной), но рабочее. Третье: я сам без готового решения мучался уйму времени, нет желания что бы кто то мучался так же. Поэтому есть желание поделится решением. Четвертое: если кто знает как улучшить, буду только рад так как см пункт два. Собственно само решение: в admin\view\template\sale\order_form.tpl после <h1><?php echo $heading_title; ?></h1> добавляем <p> Номер заказ = <?php echo $order_id; ?> </br> <form method="POST" action=""> Новя сумма заказа = <input name="tsumnew" type="text" placeholder="<?php foreach ($tsum as $tsums) { echo $tsums['total'];} ?>"/> <input type="submit" value="Изменить"/> </form></br> </p> в docs/admin/controller/sale/order.php после public function getForm() { добавляем $order_id = $this->request->get['order_id']; $data['tsum'] = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$order_id . "'"); //Отправим данные в лес: if (isset($_POST['tsumnew'])){ //Перенесем с формы $tsumnew = $_POST['tsumnew']; //Запрос на вставку данных $restsum = $this->db->query("UPDATE `oc_order` SET `total`='" . (int)$tsumnew . "' WHERE `order_id`='" . (int)$order_id . "'"); } Собственно все. Спасибо камраду flai0616 за нужный совет.
-
Помогите пожалуйста разобратся, уже замучался
Granled ответил в теме пользователя Granled в Opencart 2.x: Песочница
Итак у меня получилось вот что: в контроллере: $order_id = $this->request->get['order_id']; $data['tsum'] = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order` WHERE order_id = '" . (int)$order_id . "'"); В шаблоне <p> id заказа = <?php echo $order_id; ?> </br> Сумма заказа = <?php foreach ($tsum as $tsums) { echo $tsums['total'];} ?> </p> В результате сумму я получил. Ура! Но Нужно ли определять индекс total и как это сделать? С помощью isset? -
Помогите пожалуйста разобратся, уже замучался
Granled ответил в теме пользователя Granled в Opencart 2.x: Песочница
Спасибо большое за ответ. Из этого всего паблик функцию в модели делать? Короче не выходит у меня каменный цветок... Ладнааа будем еще страдать! -
Помогите пожалуйста разобратся, уже замучался
Granled ответил в теме пользователя Granled в Opencart 2.x: Песочница
foreach ($tsum as &$value) { $value; } Так? Там массив из одного значения, как его вызвать то... -
Помогите пожалуйста разобратся, уже замучался
Granled ответил в теме пользователя Granled в Opencart 2.x: Песочница
В контроллере или в тпл? Object of class stdClass could not be converted to string in foreach лечит именно это? Там же одно значение должно быть, и это все равно массив? -
Помогите пожалуйста разобратся, уже замучался
Granled ответил в теме пользователя Granled в Opencart 2.x: Песочница
Это я понял, а как передать значение а не массив? -
Сразу говорю, я не кодер. Но получилось так что мне срочно нужно сделать в форме редактирования заказа в админке возможность изменения общей суммы заказа. Что бы это сделать нужно вывести переменную total из таблицы заказов и уже редактировать ее. Но не понимаю как это сделать. Вроде бы все просто: в модели: public function getTsum($order_id) { $this->db->query("SELECT FROM `" . DB_PREFIX . "order_total` WHERE order_id = '" . (int)$order_id . "'"); return $query->rows; } в контроллере: $tsum = $this->model_sale_order->getTsum($this->request->get['order_id']); На выходе ошибка: Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `oc_order_total` WHERE order_id = '415'' at line 1<br />Error No: 1064<br />SELECT FROM `oc_order_total` WHERE order_id = '415'' in /home/zghost/zgemchug.ru/docs/system/library/db/mysqli.php:40 Stack trace: #0 /home/zghost/zgemchug.ru/docs/system/library/db.php(16): DB\MySQLi->query('SELECT FROM `oc...', Array) #1 /home/zghost/zgemchug.ru/docs/system/storage/modification/admin/model/sale/order.php(19): DB->query('SELECT FROM `oc...') #2 [internal function]: ModelSaleOrder->getTsum('415') #3 /home/zghost/zgemchug.ru/docs/system/storage/modification/system/engine/loader.php(178): call_user_func_array(Array, Array) #4 [internal function]: Loader->{closure}(Array, Array) #5 /home/zghost/zgemchug.ru/docs/system/engine/proxy.php(25): call_user_func_array(Object(Closure), Array) #6 /home/zghost/zgemchug.ru/docs/system/storage/m in /home/zghost/zgemchug.ru/docs/system/library/db/mysqli.php on line 40 Перебрал кучу вариантов возможного решения, и видел несколько вариантов ошибок, прочитал уже кучу разных форумов и мануал по пхп, даже начал понимать немного что где написано но что от меня все равно ускользает. Очень не хватает базовых знаний, третий день над этой проблемой бьюсь. Помогите пожалуйста! Как вывести переменную базы данных total таблицы oc_order для ее последующего редактирования из формы заказа?
-
продвижение магазина в яндексе
Granled ответил в теме пользователя demon21998 в Opencart 2.x: Песочница
Сниппеты делает сам яндекс. -
Granled изменил свой аватар
-
Здравствуйте составил вот такой запрос к базе данных (необходимо иметь возможность быстро редактировать сумму заказа из формы заказа): $tsum = $this->db->query("SELECT total FROM oc_order WHERE order_id=414"); Как подставить в него id мне более менее понятно, сама база с запроса возвращает правильные данные. Вопрос - правильно ли я сделал запрос, так как шаблон переменную не возвращает. Пишет Undefined variable , как ее сделать правильно? И вообще можно ли лезть в базу данных с контроллера, или только в модели?
- 1 ответ
-
- sql запрос
- контроллер
-
(і ще 1)
Теги:
-
Ошибка назначения переменной в админ панели
Granled ответил в теме пользователя Granled в Помощь программистам и разработчикам
Спасибо. Проблема решена. -
Ошибка назначения переменной в админ панели
Granled ответил в теме пользователя Granled в Помощь программистам и разработчикам
Это само собой, если имеется ввиду обновление менеджера дополнений.