Modx rev mShop2: где определён обработчик события msOnBeforeAddToCart?

При добавлении товара в корзину срабатывает вызов события msOnBeforeAddToCart, согласно кода из файла mscarthandler.class.php:

$response = $this->ms2->invokeEvent('msOnBeforeAddToCart', [
            'product' => $product,
            'count' => $count,
            'options' => $options,
            'cart' => $this,
        ]);
        if (!($response['success'])) {
            return $this->error($response['message']);
        }

Но где определён сам обработчик msOnBeforeAddToCart и как изменить его поведение?

Я нашёл лишь след от него в кэше, в файлах core/cache/context_setting/{mgr, web}/conext.cache.php:

28 => 
    array (
      'id' => '28',
      'source' => '1',
      'property_preprocess' => '0',
      'name' => 'order',
      'description' => '',
      'editor_type' => '0',
      'category' => '0',
      'cache_type' => '0', 
      'plugincode' => 'switch($modx->event->name) {
    case \'msOnBeforeAddToCart\':
        if($product->get(\'in_stock\') <= 0) {
            $modx->event->output(\'Товар отсутствует на складе, заказ в данный момент недоступен\');
        }
        break;
}',
      'locked' => '0',
      'properties' => 'a:0:{}',
      'disabled' => '0',
      'moduleguid' => '',
      'static' => '0',
      'static_file' => '',
    ),

Изменение этого файла, конечно ни к чему не привело. Так как изменить логику msOnBeforeAddToCart?

Мне нужно что бы она была такой:

if($product->get('in_stock') <= 0 && $product->get('vendor_stock') <=0 {
            $modx->event->output(\'Товар отсутствует на складе, заказ в данный момент недоступен\');
        }

Редактирование файла кеша, ожидаемо, не дало результата


Ответы (0 шт):