Tek bir örnek üzerinden ilerteceğim anlatımı. Mesela kategori sayfası üzerinde bir ürünün stoğu 1'den daha aza düştüyse bunu tespit etmek için öncelikle catalog/controller/product/category.php dosyasına gerekli kodları eklemek gerekiyor. Aşağıdaki kodu belirtilen dosyanın içerisinde aratın
$data['products'][] = array(
Yukarıdaki kodun bulunduğu satırın hemen altına aşağıdaki kodları ekliyoruz.
'quantity' => $result['quantity'],
'text_out_of_stock' => $result['stock_status'],
Artık front end tarafından ürünün stok durumunu kontrol edebiliriz. Benim yapacağım örnek eğer ürünün stoğu yoksa ürün resmini gri tona çevirmek üzerine olacak. Catalog/view/theme/tema-adi/product/category.twig dosyasını açıyoruz. Ürün resmini olduğu img src etiketini bulmanız gerekiyor. Bu temadan temaya farklılık gösterebilir ama thumbnail diye aratırsanız büyük ihtimal hemen bulabilirsiniz. Ben örneğe default tema üzerinden devam ediyorum. Aşağıdaki kod ürünlerin thumbnail resimleri.
<img src="{{ thumb }}" alt="{{ heading_title }}" title="{{ heading_title }}" class="img-thumbnail" />
Bu kod üzerinde kısa bir modifikasyon yapacağım ve ürün stoğu bittiyse gri tona dönecek.
{% if product.quantity < 1 %}
<img style"filter: grayscale(0.9);" src="{{ thumb }}" alt="{{ heading_title }}" title="{{ heading_title }}" class="img-thumbnail" />
{% else %}
<img src="{{ thumb }}" alt="{{ heading_title }}" title="{{ heading_title }}" class="img-thumbnail" />
{% endif %}
Bunu uyguladığınızda kategori üzerinde görüntülenen ürünlere bunu uygulayacaktır. Öne çıkarılan ürünlerde, arama kısmında da aktif etmek için o dosyalar üzerinde de aynı adımları uygulamanız gerekiyor. Ben thumbnail üzerinden örnekleme yaptım. İsterseniz aynı mantıkla add to cart butonunu da devredışı bırakabilirsiniz. Anlatım opencart 3 sürümü sonrası içindir, kodlar farklılık gösterebilir.

Edit: Ben mesajı yazana kadar sorun çözülmüş galiba :-D