Home » Php » php – OpenCart show category images on homepage?

php – OpenCart show category images on homepage?

Posted by: admin July 12, 2020 Leave a comment

Questions:

I’m using the most up to date version of open cart.

What I’m wanting to do is show the image from the store category page on every page page, as I’m wanting to implement it into the menu. You can see what I mean here: http://www.tomrawcliffe.com/portfolio/strings-r-us/

In the cetegory.tpl file I found:

<?php if ($thumb) { ?>
    <div class="image"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?    >" /></div>
<?php } ?>

But I’ve come to realise that it’s not as easy as copy and pasting this into the header.tpl etc.

What do I do!?

How to&Answers:

OK, open up /catalog/controller/common/header.php

Find this code

            // Level 1
            $this->data['categories'][] = array(
                'name'     => $category['name'],
                'children' => $children_data,
                'column'   => $category['column'] ? $category['column'] : 1,
                'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
            );

change it to

            // Level 1
            $this->load->model('tool/image');
            $image = empty($category['image']) ? 'no_image.jpg' : $category['image'];
            $thumb = $this->model_tool_image->resize($image, 100, 100);

            $this->data['categories'][] = array(
                'name'     => $category['name'],
                'children' => $children_data,
                'column'   => $category['column'] ? $category['column'] : 1,
                'thumb'    => $thumb,
                'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
            );

Then in /catalog/view/theme/[your-theme-name]/template/common/header.tpl simply use $category['thumb'] wherever you need it

note that I’ve set the width and height to 100px in the above code, and you should change it as appropriate