PHPShopOrder

Материал из PHPShop

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

PHPShopOrder - Обработчик формы оформления заказа.

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

Содержание

Методы

  • cart() - Экшен очистки корзины
  • delivery() - Вывод списка доставки
  • error() - Сообщение об ошибке, пустая корзина
  • id_delete() - Экшен удаление товара в заказе
  • id_edit() - Экшен редактирования товара в заказе
  • import() - Импорт данных
  • index() - Экшен по умолчанию
  • message() - Сообщение
  • order() - Форма заказа
  • payment() - Выбор способа оплаты
  • product() - Список товаров в заказе
  • setNum() - Генерация номера заказа

Свойства

Кол-во знаков в постфиксе заказа №_XX, по умолчанию 2. Изменить это значение можно в конфигурационном файле phpshop/inc/config.ini

[my]
order_prefix_format = "2";

Шаблонизатор

Функция ordercartforma() генерирует форму корзины товаров в заказе

Шаблон формы корзины: /phpshop/lib/templates/order/cart.tpl

Шаблон формы товара в корзине: /phpshop/lib/templates/order/product.tpl

Шаблон формы полей в заказе: phpshop/templates/имя шаблона/order/main_order_forma.tpl

Локализация

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

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

Генерация номера заказа

В методе setNum() происходит генерация номера заказа по формуле последний номер заказа в БД + 1 + постфикс в виде случайных чисел от 10 до 99 для исключения записи одновременно заказов с одинаковыми номерами. Вероятность записи одинаковых заказов составляет 1 к 99. При частых случаях записи одинаковых заказов и большой плотности заказов следует увеличить постфикс с 2 до 3 или 4. Изменяется через параметр order_prefix_format.

Хуки

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

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

  1. index() - Поддерживает хук в начале функции для полного перехвата. Позволяет полностью менять форму и логику оформления заказа.
  2. cart() - Поддерживает хук в начале функции для полного перехвата.
  3. id_delete() - Поддерживает хук в начале функции для полного перехвата.
  4. id_edit() - Поддерживает хук в начале функции для полного перехвата.
  5. product() - Поддерживает хук в начале функции для полного перехвата и в конце перед вызовом шаблонизатора. Позволяет менять вид корзины в заказе.
  6. delivery() - Поддерживает хук в начале функции для полного перехвата. Позволяет менять выбор доставки.
  7. error() - Поддерживает хук в конце функции. Позволяет менять сообщение об ошибке оформления заказа.
  8. payment() - Поддерживает хук в конце функции. Позволяет менять выбор способа оплаты.
  9. order() - Поддерживает хук в начале функции для полного перехвата и в конце перед вызовом шаблонизатора. Позволяет менять форму указания личных данных покупателя.
  10. setNum() - Поддерживает хук в конце функции. Позволяет менять логику генерации номера заказа.
  11. ordercartforma() - Поддерживает хук в начале функции для полного перехвата. Позволяет менять вид списка товара в корзине заказа.

Запись заказа в БД

Далее данные из формы заказа переходят в PHPShopDone.