Перейти к содержимому


Редактирование заказа v.2.0 by vsupport.club


  • Вы не можете ответить в тему
Сообщений в теме: 51

#1 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 02 April 2013 - 02:58 AM

Редактирование заказа в админ-панели.
Модуль позволяет редактировать все данные заказа:
- e-mail,
- Имя,
- Фамилия,
- Телефон,
- Адрес,
- Способ доставки (можно вводить произвольное значение, например если у Вас нет способа доставки Самовывоз, но Вы индивидуально договорились об этом с заказчиком, можно написать способ Самовывоз),
- Способ платы (так как и в доставке можно ввести произвольное значение),
- Характеристики товаров,
- Кол-во товара,
- Стоимость товара,
- Скидку в процентах, т.е. если у Вашего заказчика не было скидки, но Вы индивидуально ее предоставили это можно внести в заказ,
- Стоимость доставки.

Есть возможность добавлять/удалять товары в заказе.
Есть возможно добавлять комментарий администратора к заказу.

Изменена логика вывода информации о заказе, более нужная информация выведена в вернюю часть (см. скрин.), для удобства добавлены кнопки сохранить изменения, чтобы не путаться кнопка Изменить статус размещена отдельно от сохранения заказа.

Прикрепленный файл  edit_order.jpg   606.64К   189 Количество загрузок:


Скачать модуль "Редактирование заказа в админ. панели"
  • 5

#2 feelman

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 18 сообщений
Репутация: 0
Начинающий

Отправлено 07 May 2013 - 10:17 AM

Очень удобный модуль, но есть замечания, которые хотелось бы исправить:

1) если не было заполнено не обязательное поле, то оно не отображается в поле редактирования.
человек не заполнил почтовый индекс, мы хотим его дополнить, но как?

2) При удалении данных из поля, оно полностью исчезает.
Например, поле e-mail.

3) Лучше, если редактирование заказа можно будет производить после нажатия кнопки "Редактировать" в админке рядом с конкретным заказом.

4) Редактирование адреса не сохраняется в профиле клиента.
Мы отредактировали адрес доставки в заказе, но он не сохранился в профиле клиента.
Т.е. в след раз он оформит заказ, и его нужно будет заново редактировать.

5) в окне редактирования должны быть "забитые ранее" способы доставки и оплаты
Изображение
чтобы при изменении происходил автоматический пересчет стоимости доставки.

Первые два пункта очень важны - у нас используется экспорт данных, и как же экспортировать данные, если поля просто исчезают.
  • 0

#3 micehide

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 359 сообщений
Репутация: 124
Мастер

Отправлено 20 May 2013 - 09:58 PM

Для тех, у кого файл core\functions\order_functions.php уже с собственными правками, публикую ручную замену фрагметнов кода данного файла:
  • Найти код:
    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

  • 1

#4 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 17 June 2013 - 08:41 PM

Что еще обнаружилось неприятное в модуле.
Клиенту продали товар по текущему курсу у.е. магазина. После, в магазине был изменен курс. Клиент сделал обмен товара, мы решили просто отредактировать заказ. Добавить новый товар и удалить старый.
Все вроде бы хорошо, но... новый товар добавился с учетом старого курса. Грубо говоря, не по текущей цене магазина.
Редактирование стоимости в заказе ни к чему не привело.

Вопрос решил только редактированием заказа в БД а именно: редактированием в таблице orders курса, в строке currency_value нужного заказа.

Вопрос на засыпку, как можно исправить ситуацию? Потому как не каждый менеджер имеет доступ и знание БД. Ну и скажем это вообще не выход из положения.
Может добавить как то редактирование курса в заказе?
И почему собственно не поменялась цена при ее редактировании прямо в заказе?
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#5 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 17 June 2013 - 10:10 PM

1. Не понимаю каким боком к этому модуль вообще.
2. По посту куча вопросов

а) Если Вы изменили цену в заказе то товар не может добавиться по старой цене, откуда ж ей взяться то?
б) "Редактирование стоимости в заказе ни к чему не привело" - это как вообще понимать. Если в заказе изменена стоимость, то привести это может только к одному изменится стоимость товара в заказе.... или Вы хотите сказать что это не работает? - тогда Вы ошибаетесь - все работает.
  • 0

#6 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 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 как было там, цена товара в заказе изменилась на нужную мне сумму.

Одно подозрение, может не правильно установился модуль. :(
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#7 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 18 June 2013 - 08:17 AM

Дайте мне доступ в админку. Я не верю что цена не меняется. Т.к. эту доработку делали лично для своего магазина и все там прекрасно работает.
На счет курса не уверен, т.к. не пользуюсь ним, но предполагаю что тоже должно все нормально работать, т.к. по сути курс никакого отношения к модулю не имеет.
  • 0

#8 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 18 June 2013 - 08:42 AM

Данные для доступа сбросил в личку.

Кстати, в другом магазине курса нет (цены в одной валюте) но такая же проблема.

Я вот только не могу понять почему цена в поле выводится с названием валюты. На скрине в шапке просто стоит сумма.
Явно что то криво поставил.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#9 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 18 June 2013 - 10:44 AM

Вот и я о том, если установка была ручная, то по всей видимости чтото недоустановлено.
Я проверил у Вас действительно не меняется стоимость отсюда и ноги растут.
У меня в магазине проверил специально еще раз все меняется.
  • 0

#10 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 18 June 2013 - 10:57 AM

Скачал модуль еще раз. Только что попробовал установить по новой в другом магазине.
Устанавливал чисто заменой всех файлов. Кеш почистил.

Результат к сожалению тот же. :(
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#11 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 18 June 2013 - 12:52 PM

странно, сегодня проверю на чистом движке.
  • 0

#12 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 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
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#13 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 18 June 2013 - 08:26 PM

set order_amount = -*order_discount

Вот тут, как мне кажется, очевидная ошибка. Видимо, в PHP-файле написано что-то типа
..set order_amount = ".$xxx."-".$xxx."*order_discount...
но переменая $xxx на момент выполнения запроса не определена, потому получается такой странный синтаксис запроса.
Относится это или нет к рассматриваемой проблеме я не знаю, но что это ошибка, требующая исправления - очевидно.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#14 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 18 June 2013 - 09:30 PM

Вот эта строчка полностью из файла custord_new_orders.php
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());

  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#15 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 18 June 2013 - 10:00 PM

Ну, как я и писал. Осталось разобраться, почему $summa на момент использования в запросе не определена. Соответственно, запрос ошибочен и не исполняется, т.е. поле order_amount не меняет своего значения.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#16 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 19 June 2013 - 07:47 PM

Второй раз за сегодня приходится шаманить с заказами. :(
Как исправить проблему? Ребята, помогите будь ласка!
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#17 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 19 June 2013 - 08:06 PM

Уже занимаюсь. Вот как раз только дошли руки до всяких проверок.

Не знаю даже что Вам и сказать.
Ну вот только что я установил чистый движок.
Скачал с форума модуль Редактирование заказа
Залил файлы с заменой не глядя.

Делаю заказ, захожу меняю цену в редактировании заказа - все прекрасно меняется.
Цена при этом отображается с USD.

Могу даже дать доступ на тестовый домен чтобы Вы удостоверились.
  • 0

#18 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 24 June 2013 - 09:04 AM

Да я верю что у вас все работает.
Может дело в самом сервере? Может дополнительно какой-то параметр нужно прописать.
Даже не знаю что и делать теперь.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.

#19 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 24 June 2013 - 10:43 AM

Да я верю что у вас все работает. Может дело в самом сервере? Может дополнительно какой-то параметр нужно прописать. Даже не знаю что и делать теперь.


Не думаю что это с сервером связано, там нечему связываться с сервером. Скорее всего в настройках дело или в каких-то еще модулях, по какой-то причине не определяется переменная.
Ну а делать что? Если самостоятельно разобраться не получается то очевидно - давать доступ мне или badisoft или еще кому-то и оплачивать устранение проблемы, если это критично.
  • 0

#20 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 26 June 2013 - 08:12 AM

Может быть проблема в установленном модуле "Изменение цены для всех товаров в категории для ShopCMS 3.1.*" ?
Я помоему именно его устанавливал последним. Правда до этого не пробовал изменять цену в заказе. Так что категорично не могу утверждать.

По большому счету, это собственно не критично, Да и не жалко оплаты чтобы помогли сделать. Просто я попробовал поставить на чистый двиг этот же модуль, и он у меня зараза таки не пошел (тажа проблема). Почему, одному Богу известно. Боюсь что все же может в самом сервере проблема? А именно, что-то связанное с передачей значений переменых.

Настройки самого магазина... не думаю, что там могут быть какие то проблемы связанные с невозможностью изменения цены товара в заказе.
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.