Today i want to show you how to display on each product page links to all categories for which product belongs. This is great for increasing SEO value of the product page. I want to achieve this via the easiest available solution. It means, that I will only modify the product.tpl theme file. No core modifications = no worries ;)
Categories link on each product page in prestashop
Okay, so what I want to achieve? Something like i show below:
When you click on any link highlighted above - you will be redirected to the category page. This is great for SEO because google robots will crawl category pages, additional thing is fact - that categories there will be treated as tags. Your position in google search results will increase quickly.
Edit the product.tpl file located in your theme directory
As the topic above says - open the product.tpl file located in your theme directory. You've got there product page layout writed in smarty language.
All you have to do is to put categories foreach code right after this:
{include file="$tpl_dir./breadcrumb.tpl"} <div id="primary_block" class="clearfix">
categories foreach code looks like:
<ul class="productcats"> {foreach from=Product::getProductCategoriesFull(Tools::getValue('id_product')) item=cat} <li><a href="{$link->getCategoryLink({$cat.id_category})}" title="{$cat.name}">{$cat.name}</a></li> {/foreach} </ul>
<ul> is a list definiton. <li> defines an element of <ul> list. Foreach is a loop which is necessary to display all categories. Product::getProductCategoriesFull returns categories name and id from database. Tools::getValue('id_product') this is a product id definition. this is really simple code, don't you think?
CSS styles for categories list
You can also define own styles for categories list. It's easy to achieve. Just add to the global.css file code:
.productcats { list-style:none; position:relative; clear:both; display:block; padding-bottom:20px; margin-bottom:20px; } .productcats li, .productcats a{ float:left; height:24px; line-height:24px; position:relative; font-size:11px; } .productcats a { padding:5px; }
You can define own background color, borders, paddings etc. It mean that you can create own design of categories buttons! That's all. If you've got any questions related to this thread - feel free to continue discussion in the comments below.