Убираем оплаты/доставки из списка sale.order.ajax
Иногда требуется во время тестирования скрывать оплаты или доставки для обычных пользователей. Для таких вещей можно использовать событие компонента OnSaleComponentOrderResultPrepared
Пример убирания платежной системы с id = 3:
Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleComponentOrderResultPrepared', 'OnSaleComponentOrderResultPreparedHandler' ); function OnSaleComponentOrderResultPreparedHandler($order,&$arUserResult,$request,&$arParams,&$arResult){
if(!$GLOBALS['USER']->IsAdmin()){
foreach($arResult['PAY_SYSTEM'] as $k => $ps){
if($ps['PAY_SYSTEM_ID'] == 3){
unset($arResult['PAY_SYSTEM'][$k]);
unset($arResult['JS_DATA']['PAY_SYSTEM'][$k]);
$arResult['PAY_SYSTEM'] = array_values($arResult['PAY_SYSTEM']);
$arResult['JS_DATA']['PAY_SYSTEM'] = array_values($arResult['JS_DATA']['PAY_SYSTEM']);
С доставкой(DELIVERY) аналогично.
|