PHPShopDone

Материал из PHPShop

Перейти к: навигация, поиск

PHPShopDone - Обработчик успешного оформления заказа.

PHPShopDone является наследником основного класса ядра PHPShopCore и обладает всеми его методами и свойствами. PHPShopDone находится в файле phpshop/core/done.core.php

Содержание

Методы

  • index() - Экшен по умолчанию
  • mail() - E-Mail сообщение об успешном заказе
  • message() - Сообщение о результате заказа
  • send_to_order() - Экшен записи заказа. Подключение обработчика платежных систем.
  • sms() - SMS оповещение
  • write() - Запись заказа в БД

Шаблоны сообщений

Функция mailcartforma() генерирует форму списка покупки для e-mail сообщений.

Шаблон e-mail сообщения пользователю: /phpshop/lib/templates/order/usermail.tpl

Шаблон e-mail сообщения администратору: /phpshop/lib/templates/order/adminmail.tpl

Локализация

Все текстовые строки, используемые в шаблонизаторе берутся из файла конфигурации config.ini и блока [lang]

  • good_order_mesage_1 = "ВАШ ЗАКАЗ УСПЕШНО ОФОРМЛЕН";
  • good_order_mesage_2 = "Наши менеджеры свяжутся с вами";
  • bad_order_mesage_1 = "ОШИБКА ЗАПОЛНЕНИЯ ФОРМЫ";
  • bad_order_mesage_2 = "Оформление заказа невозможно";
  • bad_cart_1 = "ВАША КОРЗИНА ПУСТА";

Обработчик способа оплат

В методе send_to_order() происходит подключение обработчика платежных систем из папки /payment/способ оплаты/order.php и вывод сообщения о способе оплаты и форму оплаты с последующим переходом на внешний шлюз оплаты.

Запись заказа

Заказ записывается в БД методом write() в виде сериализованного многомерного массива в таблицу phpshop_orders в поле orders. Массив имеет состав

[Cart] - данные о купленных товарах

  • [Cart][cart] - массив корзины
  • [Cart][num] - кол-во заказанных товаров в корзине итого
  • [Cart][sum] - сумма заказа итого
  • [Cart][weight] - вес товаров итого
  • [Cart][dostavka] - стоимость доставки

[Person] - данные о покупателе

  • [Person][ouid] - номер заказа
  • [Person][data] - дата заказа в формате Unix Time
  • [Person][time] - время заказа
  • [Person][mail] - e-mail покупателя
  • [Person][name_person] - имя покупателя
  • [Person][org_name] - имя организации покупателя
  • [Person][org_inn] - инн организации покупателя
  • [Person][org_kpp] - кпп организации покупателя
  • [Person][tel_code] - код телефона покупателя
  • [Person][tel_name] - номер телефона покупателя
  • [Person][adr_name] - адрес покупателя
  • [Person][dostavka_metod] - ИД доставки
  • [Person][discount] - скидка %
  • [Person][user_id] - ИД авторизованного пользователя
  • [Person][dos_ot] - время доставки от
  • [Person][dos_do] - время доставки до
  • [Person][order_metod] - ИД способа оплаты

Обработка данных заказа

В дальнейшем можно получить информацию по заказу, зная его ID через PHPShopOrderFunction.

Хуки

PHPShopDone поддерживает перехват, изменение методов и свойств через хуки. Хук внедрить можно через модуль или дизайн-хуков.

Следующие методы имеют возможность подключения хуков:

  1. index() - Поддерживает хук в начале функции для полного перехвата и в конце перед вызовом шаблонизатора.
  2. message() - Поддерживает хук в начале функции для полного перехвата
  3. send_to_order() - Поддерживает хук в начале функции для полного перехвата, в середине и в конце перед вызовом шаблонизатора.
  4. mail() - Поддерживает хук в начале функции для полного перехвата, в середине и в конце перед вызовом шаблонизатора.
  5. sms() - Поддерживает хук в начале функции для полного перехвата
  6. write() - Поддерживает хук в начале функции для полного перехвата и в конце перед вызовом шаблонизатора.
  7. mailcartforma() - Поддерживает хук в начале функции для полного перехвата