Нашел на форуме "Нулевая цена в категории заменяется на цену опции" от mpn2005, подогнал под свои нужды, и вот что получилось в catalog/controller/product/category.php:
if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) {
if ( isset($option['product_option_value'][0]['price']) and $option['product_option_value'][0]['price'] > 0 || $option['product_option_value'][4]['price'] > 0){
$price = '<span">от</span> '.$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
}
}
} else {
$price = false;
}
Теперь если у товара задана цена больше 0 для первой выводимой опции из любой группы опций, то перед ценой выводится приставка "от", но если у первых опций стоит 0, то приставка не выводится. Если задаю цену для 5ой по счету выводимой опции и дописываю в if условие || $option['product_option_value'][4]['price'] > 0 ,то приставка выводится. НО если в категории присутствует товар у которого нет 5и опций, то появляется ошибка "Notice: Undefined offset: 4 in .....". Прошу помочь оптимизировать код.