Я сделал иначе.
в catalog/controller/product/
category.php
после
$this->language->load('product/category');
вставляем
$this->language->load('product/product');
далее после
if( mb_strlen($descr_plaintext, 'UTF-8') > $description_symbols ) {
$descr_plaintext = mb_substr($descr_plaintext, 0, $description_symbols, 'UTF-8') . ' …';
}
вставляем
if ($result['quantity'] <= 0) {
$stock = $result['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
$stock = $result['quantity'];
} else {
$stock = $this->language->get('text_instock');
}
далее после
'model' => $result['model'],
вставляем
'stock' => $stock,
В catalog/view/theme/default/template/product/category.tpl
выше кнопки купить вставляем наличие
перед
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
вставляем
<?php echo $product['stock'];?><br/>
этот код можно вставить где угодно в этом файле
Тоже самое я сделал и в search.tpl и search.php (поиск), а также manufacturer_info.tpl и manufacturer.php (производители)
В данном способе при сортировке по цене, рейтингу и т.д. все равно работает сортировка по наличию. Если кто-то может подсказать как можно доработать этот способ, буду благодарен. Но, вроде работает нормально