добавление фичи в админке(редактирование информации о заказе)

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

В каких файлах нужно это прописывать?

#
Re: добавление фичи в админке(редактирование информации о заказе)
Это реализуется через смену статуса заказа при редактировании.
В обработчики всех платежных систем добавляется нужный код в метод ChangeStatus.
В целом делается это довольно нетривиально.
Заказов не беру. Консультирую редко.
#
Re: добавление фичи в админке(редактирование информации о заказе)
Kotoff, вы не могли бы поподробней об этом рассказать?
Не пойму где связь обработчика платежной системы и окошка в админке....

#
Re: добавление фичи в админке(редактирование информации о заказе)
Ну смотрите.
У заказа есть событие ChangeStatus, оно происходит, например, когда заказ становится оплаченным, отмененным, или из списка статусов (оформлен, доставлен и т.п.) выбирается какой-то другой статус и заказ сохраняется.
Статус заказа может меняться не только из админки, например, когда от платежной системы приходит уведомление об оплате заказа, то статус меняется с самого сайта. Но это не принципиально, важно то, что событие ChangeStatus при изменении статуса происходит всегда.
Соответственно, у события может быть некий обработчик, который может сделать какие-то дополнительные действия при наступлении события.
Код этого обработчика как раз и размещается в коде платежной системы - это function ChangeStatus($param = array()) можете посмотреть ее пример в "Оплате наличными", она там в самом конце.
Соответственно, для каждой платежной системы этот обработчик может быть свой, или может не существовать вообще.

Если вы хотите внедрить на смену статуса какую-то общую функциональность, не зависящую от того, какую ПС клиент выбрал при оформлении заказа, вам нужно во все обработчики вашего магазина добавить одинаковый код функции ChangeStatus.
Удобнее всего это сделать, положив функцию ChangeStatus в отдельный php-файлик где-нибудь в /hostcmsfiles/shop/pay и подключать его в каждом обработчике с помощью include
Заказов не беру. Консультирую редко.
#
Re: добавление фичи в админке(редактирование информации о заказе)
Kotoff, по-моему Вы немного не поняли меня или же я что-то да не понимаю....
В админке->инет-магазин->наш магазин->оформленные заказы, видим список заказов...кликаем на пиктограмму редактировать заказ. В открывшемся окошке на вкладке параметры справа от валюты видим пиктограмму Товар,
справа от платежной системы пиктограммы печать, карточка заказа. Щелкнули,например, на карточку заказа - открылась в новом окне карточка заказа соответствующего заказа.  На печать - видим версию для респечатки на печать.
Необходимо,например, правее пиктограммы карточки заказа разместить новую пиктограмму по щелчке на которую админ смог бы отправлять клиенту этого заказа версию на печать.



#
Re: добавление фичи в админке(редактирование информации о заказе)
ponomarchik, я вас понял совершенно правильно!
На основе штатных механизмов это делается не добавлением кнопки в форму, а именно с помощью изменения статуса заказа.
Вы заводите в списке статусов новый, с названием "Отправлена версия на печать" и пишете обработчик в changeStatus на действие, совершаемое при выставлении данного статуса.
Заказов не беру. Консультирую редко.
#
Re: добавление фичи в админке(редактирование информации о заказе)
Kotoff, спасибо!)

#
Re: добавление фичи в админке(редактирование информации о заказе)
Kotoff, если можете объясните пожалуйста, например, как реализована ссылка печать(где ее вывод, обрабочтик...), а то никак не могу разобраться.
#
Re: добавление фичи в админке(редактирование информации о заказе)
Примерно так же - она тоже работает через обработчик системы оплаты, только вместо создания события и вызова changeOrder(), эта ссылка напрямую вызывает метод printOrder().
Если этого метода в обработчике нет, то будет то-ли ошибка, то-ли заглушка, не помню сейчас как точно.
Заказов не беру. Консультирую редко.
Авторизация