OpenCart show category images on homepage?

user1122925 picture user1122925 · Dec 30, 2011 · Viewed 13.1k times · Source

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!?

Answer

Jay Gilford picture Jay Gilford · Dec 30, 2011

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