protected function getPrice($product){ $prod =

protected function getPrice($product){
    $prod = $this->modx->getObject('ShopmodxProduct', (int)$this->getProperty('product_id'));
    $id = $prod->get('resource_id');
    $resource = $modx->getObject('modResource',$id);
    $options = $resource->getTVValue('options');
    $options = $resource->getTVValue(15); 
    $op = json_decode($options, 1);
    $art = $this->getProperty('art');
    $size = $this->getProperty('size');
    foreach($op as $key=>$option){
        if(in_array($art,$option) && in_array($size,$option)){
            $opt[]=$option;
        }
    }

    foreach($opt as $k ){
       $product = $k['price']; 
    }
    
        return $product;
}

Посмотрите где может быть ошибка пожалуйста