如何在Opencart 2.3.0.2中为某个类别的产品设置样式

I want to add unique style to products of a certain category in opencart 2.3.0.2.

If you want to change style of Particular Category including HTML then first

open

catalog/controller/extension/module/category.php

At the end of file you will find line:

return $this->load->view('extension/module/category', $data);

Here you can add your if else condition for particular category ID like:

if ($data['category_id'] == 25){
            return $this->load->view('extension/module/categorycustom', $data);
} else {
            return $this->load->view('extension/module/category', $data);
}

Add new file at:

catalog/view/theme/default/template/extension/module/categorycustom.tpl

and copy content from

catalog/view/theme/default/template/extension/module/category.tpl

This will change content of left side filter data.

if you want to change main content at right side then open:

catalog/controller/product/category.php

Find line around 377

$this->response->setOutput($this->load->view('product/category', $data));

Add your if else condition here to change the main content of the page. Like:

if ($category_info['category_id'] == 28){
        $this->response->setOutput($this->load->view('product/categorynew', $data));
} else {
        $this->response->setOutput($this->load->view('product/category', $data));
}

Now add new file at:

catalog/view/theme/default/template/product/categorynew.tpl

Copy content from:

catalog/view/theme/default/template/product/category.tpl

This way you can completely change the layout of particular category page.

In Opencart 2.x, body has different classes for every different pages, for example in a category its like: <body class="product-category-59"> for another category: <body class="product-category-70">

You can use these class for your styles, for example:

.product-category-59 a {
    color: red;
}
.product-category-70 a {
    color: green;
}