Редактирование заказа v.2.0 by vsupport.club
#1
Отправлено 02 April 2013 - 02:58 AM
Модуль позволяет редактировать все данные заказа:
- e-mail,
- Имя,
- Фамилия,
- Телефон,
- Адрес,
- Способ доставки (можно вводить произвольное значение, например если у Вас нет способа доставки Самовывоз, но Вы индивидуально договорились об этом с заказчиком, можно написать способ Самовывоз),
- Способ платы (так как и в доставке можно ввести произвольное значение),
- Характеристики товаров,
- Кол-во товара,
- Стоимость товара,
- Скидку в процентах, т.е. если у Вашего заказчика не было скидки, но Вы индивидуально ее предоставили это можно внести в заказ,
- Стоимость доставки.
Есть возможность добавлять/удалять товары в заказе.
Есть возможно добавлять комментарий администратора к заказу.
Изменена логика вывода информации о заказе, более нужная информация выведена в вернюю часть (см. скрин.), для удобства добавлены кнопки сохранить изменения, чтобы не путаться кнопка Изменить статус размещена отдельно от сохранения заказа.
edit_order.jpg 606.64К 189 Количество загрузок:
Скачать модуль "Редактирование заказа в админ. панели"
#2
Отправлено 07 May 2013 - 10:17 AM
1) если не было заполнено не обязательное поле, то оно не отображается в поле редактирования.
человек не заполнил почтовый индекс, мы хотим его дополнить, но как?
2) При удалении данных из поля, оно полностью исчезает.
Например, поле e-mail.
3) Лучше, если редактирование заказа можно будет производить после нажатия кнопки "Редактировать" в админке рядом с конкретным заказом.
4) Редактирование адреса не сохраняется в профиле клиента.
Мы отредактировали адрес доставки в заказе, но он не сохранился в профиле клиента.
Т.е. в след раз он оформит заказ, и его нужно будет заново редактировать.
5) в окне редактирования должны быть "забитые ранее" способы доставки и оплаты
чтобы при изменении происходил автоматический пересчет стоимости доставки.
Первые два пункта очень важны - у нас используется экспорт данных, и как же экспортировать данные, если поля просто исчезают.
#3
Отправлено 20 May 2013 - 09:58 PM
- Найти код:
if ( $order["statusID"] == ostGetCanceledStatusId() ) $status_name = STRING_CANCELED_ORDER_STATUS;
Заменить на:
if ( $order["statusID"] == ostGetCanceledStatusId() )
//Правка
{
$order["editing"] = 0;
$status_name = STRING_CANCELED_ORDER_STATUS;
}
else
$order["editing"] = 1;
//end - Найти код:
$order["order_discount_ToShow"] = _formatPrice(roundf($order["currency_value"]*$clear_total_price*((100-$order["order_discount"])/100)),$currency_round)." ".$order["currency_code"];
Заменить на:
//Правка
$order["order_discount_ToShow"] = _formatPrice(roundf(($order["currency_value"]*$clear_total_price) - ($order["currency_value"]*$clear_total_price*((100-$order["order_discount"])/100))),$currency_round)." ".$order["currency_code"];
//end
#4
Отправлено 17 June 2013 - 08:41 PM
Клиенту продали товар по текущему курсу у.е. магазина. После, в магазине был изменен курс. Клиент сделал обмен товара, мы решили просто отредактировать заказ. Добавить новый товар и удалить старый.
Все вроде бы хорошо, но... новый товар добавился с учетом старого курса. Грубо говоря, не по текущей цене магазина.
Редактирование стоимости в заказе ни к чему не привело.
Вопрос решил только редактированием заказа в БД а именно: редактированием в таблице orders курса, в строке currency_value нужного заказа.
Вопрос на засыпку, как можно исправить ситуацию? Потому как не каждый менеджер имеет доступ и знание БД. Ну и скажем это вообще не выход из положения.
Может добавить как то редактирование курса в заказе?
И почему собственно не поменялась цена при ее редактировании прямо в заказе?
#5
Отправлено 17 June 2013 - 10:10 PM
2. По посту куча вопросов
а) Если Вы изменили цену в заказе то товар не может добавиться по старой цене, откуда ж ей взяться то?
б) "Редактирование стоимости в заказе ни к чему не привело" - это как вообще понимать. Если в заказе изменена стоимость, то привести это может только к одному изменится стоимость товара в заказе.... или Вы хотите сказать что это не работает? - тогда Вы ошибаетесь - все работает.
#6
Отправлено 18 June 2013 - 01:25 AM
К примеру:
Курс магазина 1 к 8
1. Есть два товара. №1 стоит 8 тугриков (по курсу магазина это 1 у.е), второй 16 тугриков (2 у.е соответственно).
2. Товар №1 был куплен за 8 тугриков.
3. После этого меняется курс магазина и составляет 1 к 9. Теперь товар №1 стоит 9 тугриков, а товар №2 - 18 тугриков
4. Клиент хочет поменять товар №1 (8 тугриков) на №2 за 18 тугриков
5. Я добавляю клиенту товар №2 в заказе (за 18 тугриков) и удаляю №1 (8 тугриков)
И вот тут все и начинается...
Добавленный товар №2 за 18 тугриков почему то оказывается в заказе за 16 тугриков (когда был курс 1 к 8).
Пытаюсь просто вручную проставить 18 тугриков, нажимаю сохранить, после перезагрузки страницы остаются все те же 16 тугриков.
Другими словами цену на товар в заказе не изменило.
Полез в БД в поле currency_value таблицы orders стоит значение 8 собственно это и правильно, потому что изначально заказ был сделан при курсе в магазине 1 к 8.
Но спрашивается почему оно просто не изменило цену товара в самом заказе когда я ее поменял вручную (через этот модуль редактирования заказа) ?
И если бы это работало я бы не стал писать здесь о своей проблеме. Просто проставил бы цену товара в 18 тугриков и все. Но увы цена остается прежней (16 тугриков).
Когда же я в БД поставил 9 вместо 8 как было там, цена товара в заказе изменилась на нужную мне сумму.
Одно подозрение, может не правильно установился модуль.
#7
Отправлено 18 June 2013 - 08:17 AM
На счет курса не уверен, т.к. не пользуюсь ним, но предполагаю что тоже должно все нормально работать, т.к. по сути курс никакого отношения к модулю не имеет.
#8
Отправлено 18 June 2013 - 08:42 AM
Кстати, в другом магазине курса нет (цены в одной валюте) но такая же проблема.
Я вот только не могу понять почему цена в поле выводится с названием валюты. На скрине в шапке просто стоит сумма.
Явно что то криво поставил.
#9
Отправлено 18 June 2013 - 10:44 AM
Я проверил у Вас действительно не меняется стоимость отсюда и ноги растут.
У меня в магазине проверил специально еще раз все меняется.
#10
Отправлено 18 June 2013 - 10:57 AM
Устанавливал чисто заменой всех файлов. Кеш почистил.
Результат к сожалению тот же.
#11
Отправлено 18 June 2013 - 12:52 PM
#12
Отправлено 18 June 2013 - 08:13 PM
Очищаю лог ошибок.
И просто иду по ссылке "Справочник заказов" затем назад в "Статистика ошибок" вижу следующее в логе:
ERROR: 1064: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 '*order_discount/100+shipping_cost where orderID=0' at line 1 Sql: update `sp_orders` set order_amount = -*order_discount/100+shipping_cost where orderID=0 Link: /admin.php?dpt=custord&sub=new_orders Date: 18.06.13 - 20:47:52 Dump: array(2) { ["dpt"]=> string(7) "custord" ["sub"]=> string(10) "new_orders" } array(0) { } ---
Затем при попытке поменять цену на товар в заказе иду опять в логи и вижу следующее...
WARNING: strlen() expects parameter 1 to be string, array given Line: 358 File: ...\core\includes\admin\sub\custord_new_orders.php Link: /admin.php?dpt=custord&sub=new_orders&orders_detailed=yes&orderID=47&urlToReturn=YWRtaW4 ... и т.д. == Date: 18.06.13 - 20:52:35 Dump: array(5) { ["dpt"]=> string(7) "custord" ["sub"]=> string(10) "new_orders" ["orders_detailed"]=> string(3) "yes" ["orderID"]=> int(47) ["urlToReturn"]=> string(144) "YWRtaW4 ... и т.д.
Может быть это поможет специалистам разобраться с моей проблемой. Потому как эти логи мне ни о чем не говорят.
p.s. Данные сервера (на всяк случай):
PHP Version - 5.3.5
MySQL Version - 5.1.39-community
PHP GD Version - 2.0.34
Register globals - Off
Safe mode - Off
Magic quotes gpc - Off
#13
Отправлено 18 June 2013 - 08:26 PM
Вот тут, как мне кажется, очевидная ошибка. Видимо, в PHP-файле написано что-то типаset order_amount = -*order_discount
..set order_amount = ".$xxx."-".$xxx."*order_discount...
но переменая $xxx на момент выполнения запроса не определена, потому получается такой странный синтаксис запроса.
Относится это или нет к рассматриваемой проблеме я не знаю, но что это ошибка, требующая исправления - очевидно.
#14
Отправлено 18 June 2013 - 09:30 PM
db_query( "update `".DB_PRFX."orders` set order_amount = ".$summa."-".$summa."*order_discount/100+shipping_cost where orderID=".(int)$_GET["orderID"]) or die($er = mysql_error());
#15
Отправлено 18 June 2013 - 10:00 PM
#16
Отправлено 19 June 2013 - 07:47 PM
Как исправить проблему? Ребята, помогите будь ласка!
#17
Отправлено 19 June 2013 - 08:06 PM
Не знаю даже что Вам и сказать.
Ну вот только что я установил чистый движок.
Скачал с форума модуль Редактирование заказа
Залил файлы с заменой не глядя.
Делаю заказ, захожу меняю цену в редактировании заказа - все прекрасно меняется.
Цена при этом отображается с USD.
Могу даже дать доступ на тестовый домен чтобы Вы удостоверились.
#18
Отправлено 24 June 2013 - 09:04 AM
Может дело в самом сервере? Может дополнительно какой-то параметр нужно прописать.
Даже не знаю что и делать теперь.
#19
Отправлено 24 June 2013 - 10:43 AM
Да я верю что у вас все работает. Может дело в самом сервере? Может дополнительно какой-то параметр нужно прописать. Даже не знаю что и делать теперь.
Не думаю что это с сервером связано, там нечему связываться с сервером. Скорее всего в настройках дело или в каких-то еще модулях, по какой-то причине не определяется переменная.
Ну а делать что? Если самостоятельно разобраться не получается то очевидно - давать доступ мне или badisoft или еще кому-то и оплачивать устранение проблемы, если это критично.
#20
Отправлено 26 June 2013 - 08:12 AM
Я помоему именно его устанавливал последним. Правда до этого не пробовал изменять цену в заказе. Так что категорично не могу утверждать.
По большому счету, это собственно не критично, Да и не жалко оплаты чтобы помогли сделать. Просто я попробовал поставить на чистый двиг этот же модуль, и он у меня зараза таки не пошел (тажа проблема). Почему, одному Богу известно. Боюсь что все же может в самом сервере проблема? А именно, что-то связанное с передачей значений переменых.
Настройки самого магазина... не думаю, что там могут быть какие то проблемы связанные с невозможностью изменения цены товара в заказе.