frontend_checkout_stock_rules

Позволяет применять правила выбора склада для списания товаров при оформлении заказов.

Shop-Script
Входящие параметры
передаются по ссылке
$params array Массив параметров.
$params['order'] array Массив данных заказа.
$params['rules'] array Список правил выбора складов из таблицы базы данных shop_stock_rules, который может модифицировать плагин. Плагин должен модифицировать элементы массива, добавляя ключ 'fulfilled' (bool) для тех правил, которые должен обработать плагин. См. также описание хука "backend_settings_stocks" о том, как модифицировать форму настроек для создания таких правил.
$params['stocks'] array Список складов, возвращаемый методом shopHelper::getStocks().
… код плагина …
Результат работы плагина
Shop-Script

Пример кода плагина

PHP

/**
 * As an example, let us determine whether total quantity of order items is above a value
 * selected in the first available stock rule setting provided by this plugin.
 * For details, see description and code example for 'backend_settings_stock' event
 */
public function frontendCheckoutStockRules($params)
{
    $quantity = 0;
    foreach ($params['order']['items'] as $item) {
        $quantity += $item['quantity'];
    }

    foreach ($params['rules'] as &$rule) {
        if ($rule['rule_type'] == $this->id) {
            if ($quantity > $rule['rule_data']) {
                $rule['fulfilled'] = true;
                break;
            }
        }
    }
}