Да вы правы синтаксис во всем виноват
if( $order_id = $this->modx->basket->getActiveOrderID() and $basket = $this->modx->getObject('Order', $order_id) ){ foreach($basket->OrderProducts as $OrderProduct){ $OrderProduct->quantity = 0; $OrderProduct->save(); } }