checkout_before_region
Срабатывает перед вызовом предварительного метода prepare() шага оформления заказа «ввод адреса доставки» на странице оформления заказа в корзине.
Shop-Script
Входящие параметры (передаются по ссылке)
$params['step_id'] string Идентификатор шага оформления заказа.
$params['result'] array Значения, которые будут переданы JavaScript-коду и в шаблон соответствующего шага templates/actions/frontend/order/form/region.html. Могут быть изменены плагином.
$params['data'] array Данные, которые передаются классу шага оформления заказа. Могут быть изменены плагином.
$params['data']['origin'] string Обозначение источника вызова: 'form' (полное формирование всей формы оформления заказа), 'calculate' (фоновое обновление части формы по мере изменения значений в ней покупателем) или 'create' (создание заказа после окончательного подтверждения покупателем).
$params['data']['order'] shopOrder Объект свойств заказа.
$params['data']['contact'] waContact Объект свойств авторизованного покупателя.
$params['data']['input'] array Данные, полученные из POST-запроса, сессии или другого источника.
$params['error_step_id'] string Идентификатор шага, на котором возникла ошибка. Может быть изменён плагином.
$params['errors'] array Сообщения об ошибках. Могут быть изменены плагином.
$params['errors'][]['text'] string Текст сообщения об ошибке.
$params['result'] array Значения, которые будут переданы JavaScript-коду и в шаблон соответствующего шага templates/actions/frontend/order/form/region.html. Могут быть изменены плагином.
$params['data'] array Данные, которые передаются классу шага оформления заказа. Могут быть изменены плагином.
$params['data']['origin'] string Обозначение источника вызова: 'form' (полное формирование всей формы оформления заказа), 'calculate' (фоновое обновление части формы по мере изменения значений в ней покупателем) или 'create' (создание заказа после окончательного подтверждения покупателем).
$params['data']['order'] shopOrder Объект свойств заказа.
$params['data']['contact'] waContact Объект свойств авторизованного покупателя.
$params['data']['input'] array Данные, полученные из POST-запроса, сессии или другого источника.
$params['error_step_id'] string Идентификатор шага, на котором возникла ошибка. Может быть изменён плагином.
$params['errors'] array Сообщения об ошибках. Могут быть изменены плагином.
$params['errors'][]['text'] string Текст сообщения об ошибке.
… код плагина …
Результат работы плагина
Shop-Script
Пример кода плагина
PHP
public function checkoutBeforeRegion(&$params) { $locality = ifset($params, 'data', 'input', 'region', 'city', ''); $locality_parts = preg_split('~\s+~', $locality, 2); if (count($locality_parts) == 2) { $locality_type = rtrim($locality_parts[0], '.'); if (in_array($locality_type, ['город', 'гор', 'г', 'посёлок', 'поселок', 'пос', 'п', 'станица', 'ст', 'деревня', 'дер', 'д', 'аул'])) { $clean_locality = $locality_parts[1]; $params['data']['input']['region']['city'] = $clean_locality; } } }