{"id":16077,"date":"2018-06-21T15:48:54","date_gmt":"2018-06-21T13:48:54","guid":{"rendered":"https:\/\/belvg.com\/blog\/?p=16077"},"modified":"2026-06-25T19:34:22","modified_gmt":"2026-06-25T17:34:22","slug":"templates-and-layouts-in-prestashop-1-6-vs-1-7","status":"publish","type":"post","link":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html","title":{"rendered":"Templates and Layouts in PrestaShop 1.6 vs 1.7"},"content":{"rendered":"\n<p>Let&rsquo;s compare the two versions of PrestaShop one more time and see the differences in their template structure, layouts, head, notifications, listing pages, AJAX page update and view update.<\/p>\n<p><!--more--><\/p>\n<h2><span style=\"color: #000000;\"><strong>Templates in PrestaShop 1.6 vs 1.7<\/strong><\/span><\/h2>\n<p>Template files (.tpl) is a way for Smarty to divide content, which is then displayed as a whole on a page. The template contains several dynamic elements, where our content is located. This makes it easier to design and update sites.<\/p>\n<p>The template processor uses {&hellip;} to process instructions. The rest of the document is sent to the browser as it is.<\/p>\n<p>You can use a template to generate HTML files, as well as XML files, text files, etc.<\/p>\n<p>Any PrestaShop theme consists of such templates, responsible for their part of the output content.<\/p>\n<h4><strong><span style=\"color: #000000;\">PrestaShop 1.7<\/span><\/strong><\/h4>\n<p>Template files are stored in the <em>templates\/<\/em> theme folder. For example, the default theme has its own template files in the following folder: <em>\/themes\/classic\/templates.<\/em><\/p>\n<p>Internal folders have the following structure:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image131.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-16078\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image131.png\" alt=\"image13\" width=\"311\" height=\"417\" title=\"Templates and Layouts in PrestaShop 1.6 vs 1.7\"><\/a><\/p>\n<ul>\n<li><strong>_partials<\/strong>&nbsp;&mdash; the code located on each page of a site. (header, footer, notifications);<\/li>\n<li><strong>catalog<\/strong>&nbsp;&mdash; Product page, product\/brand\/supplier listing, search result, etc.;<\/li>\n<li><strong>checkout<\/strong>&nbsp;&mdash; Cart, delivery options, payment options, order confirmations, etc.;<\/li>\n<li><strong>cms<\/strong>&nbsp;&mdash; all static content: contact, sitemap, CMS pages, etc.;<\/li>\n<li><strong>customer<\/strong>&nbsp;&mdash; customer&rsquo;s account and his data;<\/li>\n<li><strong>errors<\/strong>&nbsp;&mdash; all error templates: not found, server error, forbidden, etc.;<\/li>\n<li><strong>layouts<\/strong>&nbsp;&mdash; The theme layouts: 1, 2 or more columns, full width.<\/li>\n<\/ul>\n<p>Each PrestaShop theme has the following basic templates:<\/p>\n<ul>\n<li><strong>index.tpl<\/strong>&nbsp;&mdash;&nbsp;home page<\/li>\n<li><strong>catalog\/product.tpl<\/strong>&nbsp;&mdash;&nbsp;product page<\/li>\n<li><strong>catalog\/listing\/product-list.tpl<\/strong>&nbsp;&mdash; product list page<\/li>\n<li><strong>checkout\/cart.tpl<\/strong>&nbsp;&mdash; cart<\/li>\n<li><strong>checkout\/checkout.tpl<\/strong>&nbsp;&mdash; checkout<\/li>\n<\/ul>\n<h4><strong><span style=\"color: #000000;\">PrestaShop 1.6<\/span><\/strong><\/h4>\n<p>In PrestaShop 1.6 all .<em>tpl<\/em> files are located in the root of the theme folder:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image122.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-16079\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image122.png\" alt=\"image12\" width=\"394\" height=\"724\" title=\"Templates and Layouts in PrestaShop 1.6 vs 1.7\"><\/a><\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image14.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-16080\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image14.png\" alt=\"image14\" width=\"337\" height=\"659\" title=\"Templates and Layouts in PrestaShop 1.6 vs 1.7\"><\/a><\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image71.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-16081\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image71.png\" alt=\"image7\" width=\"300\" height=\"501\" title=\"Templates and Layouts in PrestaShop 1.6 vs 1.7\"><\/a><\/p>\n<div class=\"module_in_content_container\"><a href=\"https:\/\/audit.belvg.com\/\" class=\"link_to_module\" target=\"_blank\" rel=\"noopener\"><\/a><div class=\"module_content\"><img src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2024\/07\/Get-an-audit-of-your-store.webp\" width=\"121\" height=\"121\" alt=\"CRO_audit_process\" class=\"module_image\" title=\"Templates and Layouts in PrestaShop 1.6 vs 1.7\"><div class=\"module_content_part\"><h3 class=\"title\">Which Template Fits Your Store?<\/h3><p class=\"module_content_text\">Scan your live store to find the performance issues that slow down your site and get a clear list of what to fix<\/p><a href=\"https:\/\/audit.belvg.com\/\" class=\"link_2_to_module\" target=\"_blank\" style=\"display:inline-block\" rel=\"noopener\"><span class=\"read-more\">Run the Scan<\/span><\/a><\/div><\/div><\/div>\n<h2><strong><span style=\"color: #000000;\">Layouts in PrestaShop 1.6 vs 1.7<\/span><\/strong><\/h2>\n<p>Layout is responsible for organizing the content (templates on a specific page). In other words, it&rsquo;s responsible for the method of location of elements (templates) on the pages of the project.<\/p>\n<p>In PrestaShop 1.7 the user is given the opportunity to change the layout of each page independently. Go to admin panel&nbsp;<span style=\"font-weight: 400;\">&#10132;<\/span> Design&nbsp;<span style=\"font-weight: 400;\">&#10132;<\/span> Theme &amp; Logo.<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image93.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-16082\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image93.png\" alt=\"image9\" width=\"1898\" height=\"670\" title=\"Templates and Layouts in PrestaShop 1.6 vs 1.7\"><\/a><\/p>\n<p>Then press the Choose layouts button:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image81.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-16083\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image81.png\" alt=\"image8\" width=\"1904\" height=\"652\" title=\"Templates and Layouts in PrestaShop 1.6 vs 1.7\"><\/a><\/p>\n<p>A sample of a layout file (\/themes\/classic\/templates\/layouts\/layout-both-columns.tpl):<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;!doctype html&gt;\r\n&lt;html lang=\"{$language.iso_code}\"&gt;\r\n&lt;head&gt;\r\n&nbsp;&nbsp;{block name='head'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{include file='_partials\/head.tpl'}\r\n&nbsp;&nbsp;{\/block}\r\n&lt;\/head&gt;\r\n&lt;body id=\"{$page.page_name}\" class=\"{$page.body_classes|classnames}\"&gt;\r\n&nbsp;&nbsp;{block name='hook_after_body_opening_tag'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{hook h='displayAfterBodyOpeningTag'}\r\n&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&lt;main&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;{block name='product_activation'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{include file='catalog\/_partials\/product-activation.tpl'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;header id=\"header\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{block name='header'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{include file='_partials\/header.tpl'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/header&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;{block name='notifications'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{include file='_partials\/notifications.tpl'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;section id=\"wrapper\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{hook h=\"displayWrapperTop\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"container\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{block name='breadcrumb'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{include file='_partials\/breadcrumb.tpl'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{block name=\"left_column\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"left-column\" class=\"col-xs-12 col-sm-4 col-md-3\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if $page.page_name == 'product'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{hook h='displayLeftColumnProduct'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{else}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{hook h=\"displayLeftColumn\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{block name=\"content_wrapper\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"content-wrapper\" class=\"left-column right-column col-sm-4 col-md-6\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{hook h=\"displayContentWrapperTop\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{block name=\"content\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;Hello world! This is HTML5 Boilerplate.&lt;\/p&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{hook h=\"displayContentWrapperBottom\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{block name=\"right_column\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"right-column\" class=\"col-xs-12 col-sm-4 col-md-3\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if $page.page_name == 'product'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{hook h='displayRightColumnProduct'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{else}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{hook h=\"displayRightColumn\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{hook h=\"displayWrapperBottom\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/section&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;footer id=\"footer\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{block name=\"footer\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{include file=\"_partials\/footer.tpl\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/footer&gt;\r\n&nbsp;&nbsp;&lt;\/main&gt;\r\n&nbsp;&nbsp;{block name='javascript_bottom'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{include file=\"_partials\/javascript.tpl\" javascript=$javascript.bottom}\r\n&nbsp;&nbsp;{\/block}\r\n&nbsp;&nbsp;{block name='hook_before_body_closing_tag'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{hook h='displayBeforeBodyClosingTag'}\r\n&nbsp;&nbsp;{\/block}\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<h2><span style=\"color: #000000;\"><strong>Head in PrestaShop 1.6 vs 1.7<\/strong><\/span><\/h2>\n<p>Assets of various kinds are connected in the &lt;HEAD&gt; tag.<\/p>\n<h4><strong><span style=\"color: #000000;\">PrestaShop 1.7<\/span><\/strong><\/h4>\n<p>The way the assets are connected has changed in PrestaShop 1.7:<\/p>\n<ul>\n<li>_partials\/stylesheets.tpl<\/li>\n<li>_partials\/javascript.tpl<\/li>\n<\/ul>\n<p>This method of connection allows you to use asynchronous loading of js and inline css feature.<\/p>\n<p>\/themes\/classic\/templates\/_partials\/head.tpl<\/p>\n<pre class=\"lang:php decode:true\">{block name='head_charset'}\r\n&lt;meta charset=\"utf-8\"&gt;\r\n{\/block}\r\n{block name='head_ie_compatibility'}\r\n&lt;meta http-equiv=\"x-ua-compatible\" content=\"ie=edge\"&gt;\r\n{\/block}\r\n{block name='head_seo'}\r\n&lt;title&gt;{block name='head_seo_title'}{$page.meta.title}{\/block}&lt;\/title&gt;\r\n&lt;meta name=\"description\" content=\"{block name='head_seo_description'}{$page.meta.description}{\/block}\"&gt;\r\n&lt;meta name=\"keywords\" content=\"{block name='head_seo_keywords'}{$page.meta.keywords}{\/block}\"&gt;\r\n{if $page.meta.robots !== 'index'}\r\n&nbsp;&nbsp;&lt;meta name=\"robots\" content=\"{$page.meta.robots}\"&gt;\r\n{\/if}\r\n{if $page.canonical}\r\n&nbsp;&nbsp;&lt;link rel=\"canonical\" href=\"{$page.canonical}\"&gt;\r\n{\/if}\r\n{\/block}\r\n{block name='head_viewport'}\r\n&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;\r\n{\/block}\r\n{block name='head_icons'}\r\n&lt;link rel=\"icon\" type=\"image\/vnd.microsoft.icon\" href=\"{$shop.favicon}?{$shop.favicon_update_time}\"&gt;\r\n&lt;link rel=\"shortcut icon\" type=\"image\/x-icon\" href=\"{$shop.favicon}?{$shop.favicon_update_time}\"&gt;\r\n{\/block}\r\n&lt;link href=\"https:\/\/fonts.googleapis.com\/css?family=Oswald|Roboto\" rel=\"stylesheet\"&gt;\r\n{block name='stylesheets'}\r\n{include file=\"_partials\/stylesheets.tpl\" stylesheets=$stylesheets}\r\n{\/block}\r\n{block name='javascript_head'}\r\n{include file=\"_partials\/javascript.tpl\" javascript=$javascript.head vars=$js_custom_vars}\r\n{\/block}\r\n{block name='hook_header'}\r\n{$HOOK_HEADER nofilter}\r\n{\/block}\r\n{block name='hook_extra'}{\/block}<\/pre>\n<p>The <strong>{block name=&rsquo;head_seo&rsquo;}<\/strong> block contains the necessary information for SEO, which is easy to edit.<\/p>\n<h4><strong><span style=\"color: #000000;\">PrestaShop 1.6<\/span><\/strong><\/h4>\n<p>There is no separate template containing the &lt;head&gt; tag In PrestaShop 1.6.<\/p>\n<p>There is a common <em>header.<\/em>tpl that also contains the &lt;body&gt; part (\/themes\/default-bootstrap\/header.tpl):<\/p>\n<pre class=\"lang:xhtml decode:true\">&lt;!DOCTYPE HTML&gt;\r\n&lt;!--[if lt IE 7]&gt; &lt;html class=\"no-js lt-ie9 lt-ie8 lt-ie7\"{if isset($language_code) &amp;&amp; $language_code} lang=\"{$language_code|escape:'html':'UTF-8'}\"{\/if}&gt;&lt;![endif]--&gt;\r\n&lt;!--[if IE 7]&gt;&lt;html class=\"no-js lt-ie9 lt-ie8 ie7\"{if isset($language_code) &amp;&amp; $language_code} lang=\"{$language_code|escape:'html':'UTF-8'}\"{\/if}&gt;&lt;![endif]--&gt;\r\n&lt;!--[if IE 8]&gt;&lt;html class=\"no-js lt-ie9 ie8\"{if isset($language_code) &amp;&amp; $language_code} lang=\"{$language_code|escape:'html':'UTF-8'}\"{\/if}&gt;&lt;![endif]--&gt;\r\n&lt;!--[if gt IE 8]&gt; &lt;html class=\"no-js ie9\"{if isset($language_code) &amp;&amp; $language_code} lang=\"{$language_code|escape:'html':'UTF-8'}\"{\/if}&gt;&lt;![endif]--&gt;\r\n&lt;html{if isset($language_code) &amp;&amp; $language_code} lang=\"{$language_code|escape:'html':'UTF-8'}\"{\/if}&gt;\r\n&nbsp;&lt;head&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta charset=\"utf-8\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;{$meta_title|escape:'html':'UTF-8'}&lt;\/title&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;{if isset($meta_description) AND $meta_description}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta name=\"description\" content=\"{$meta_description|escape:'html':'UTF-8'}\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{if isset($meta_keywords) AND $meta_keywords}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta name=\"keywords\" content=\"{$meta_keywords|escape:'html':'UTF-8'}\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta name=\"generator\" content=\"PrestaShop\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta name=\"robots\" content=\"{if isset($nobots)}no{\/if}index,{if isset($nofollow) &amp;&amp; $nofollow}no{\/if}follow\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta name=\"viewport\" content=\"width=device-width, minimum-scale=0.25, maximum-scale=1.6, initial-scale=1.0\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta name=\"apple-mobile-web-app-capable\" content=\"yes\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;link rel=\"icon\" type=\"image\/vnd.microsoft.icon\" href=\"{$favicon_url}?{$img_update_time}\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;link rel=\"shortcut icon\" type=\"image\/x-icon\" href=\"{$favicon_url}?{$img_update_time}\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;{if isset($css_files)}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{foreach from=$css_files key=css_uri item=media}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if $css_uri == 'lteIE9'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--[if lte IE 9]&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{foreach from=$css_files[$css_uri] key=css_uriie9 item=mediaie9}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;link rel=\"stylesheet\" href=\"{$css_uriie9|escape:'html':'UTF-8'}\" type=\"text\/css\" media=\"{$mediaie9|escape:'html':'UTF-8'}\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/foreach}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;![endif]--&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{else}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;link rel=\"stylesheet\" href=\"{$css_uri|escape:'html':'UTF-8'}\" type=\"text\/css\" media=\"{$media|escape:'html':'UTF-8'}\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/foreach}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{if isset($js_defer) &amp;&amp; !$js_defer &amp;&amp; isset($js_files) &amp;&amp; isset($js_def)}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$js_def}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{foreach from=$js_files item=js_uri}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;script type=\"text\/javascript\" src=\"{$js_uri|escape:'html':'UTF-8'}\"&gt;&lt;\/script&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/foreach}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{$HOOK_HEADER}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;link rel=\"stylesheet\" href=\"\/\/fonts.googleapis.com\/css?family=Open+Sans:300,600&amp;amp;subset=latin,latin-ext\" type=\"text\/css\" media=\"all\" \/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--[if IE 8]&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;script src=\"https:\/\/oss.maxcdn.com\/libs\/html5shiv\/3.7.0\/html5shiv.js\"&gt;&lt;\/script&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;script src=\"https:\/\/oss.maxcdn.com\/libs\/respond.js\/1.3.0\/respond.min.js\"&gt;&lt;\/script&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;![endif]--&gt;\r\n&nbsp;&lt;\/head&gt;\r\n&nbsp;&lt;body{if isset($page_name)} id=\"{$page_name|escape:'html':'UTF-8'}\"{\/if} class=\"{if isset($page_name)}{$page_name|escape:'html':'UTF-8'}{\/if}{if isset($body_classes) &amp;&amp; $body_classes|@count} {implode value=$body_classes separator=' '}{\/if}{if $hide_left_column} hide-left-column{else} show-left-column{\/if}{if $hide_right_column} hide-right-column{else} show-right-column{\/if}{if isset($content_only) &amp;&amp; $content_only} content_only{\/if} lang_{$lang_iso}\"&gt;\r\n&nbsp;{if !isset($content_only) || !$content_only}\r\n&nbsp;&nbsp;&nbsp;&nbsp;{if isset($restricted_country_mode) &amp;&amp; $restricted_country_mode}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"restricted-country\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;{l s='You cannot place a new order from your country.'}{if isset($geolocation_country) &amp;&amp; $geolocation_country} &lt;span class=\"bold\"&gt;{$geolocation_country|escape:'html':'UTF-8'}&lt;\/span&gt;{\/if}&lt;\/p&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"page\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"header-container\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;header id=\"header\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{capture name='displayBanner'}{hook h='displayBanner'}{\/capture}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if $smarty.capture.displayBanner}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"banner\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"container\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"row\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$smarty.capture.displayBanner}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{capture name='displayNav'}{hook h='displayNav'}{\/capture}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if $smarty.capture.displayNav}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"nav\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"container\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"row\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;nav&gt;{$smarty.capture.displayNav}&lt;\/nav&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"container\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"row\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"header_logo\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href=\"{if isset($force_ssl) &amp;&amp; $force_ssl}{$base_dir_ssl}{else}{$base_dir}{\/if}\" title=\"{$shop_name|escape:'html':'UTF-8'}\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;img class=\"logo img-responsive\" src=\"{$logo_url}\" alt=\"{$shop_name|escape:'html':'UTF-8'}\"{if isset($logo_image_width) &amp;&amp; $logo_image_width} width=\"{$logo_image_width}\"{\/if}{if isset($logo_image_height) &amp;&amp; $logo_image_height} height=\"{$logo_image_height}\"{\/if}\/&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/a&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if isset($HOOK_TOP)}{$HOOK_TOP}{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/header&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"columns-container\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"columns\" class=\"container\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if $page_name !='index' &amp;&amp; $page_name !='pagenotfound'}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{include file=\"$tpl_dir.\/breadcrumb.tpl\"}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"slider_row\" class=\"row\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{capture name='displayTopColumn'}{hook h='displayTopColumn'}{\/capture}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if $smarty.capture.displayTopColumn}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"top_column\" class=\"center_column col-xs-12 col-sm-12\"&gt;{$smarty.capture.displayTopColumn}&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"row\"&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if isset($left_column_size) &amp;&amp; !empty($left_column_size)}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"left_column\" class=\"column col-xs-12 col-sm-{$left_column_size|intval}\"&gt;{$HOOK_LEFT_COLUMN}&lt;\/div&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{if isset($left_column_size) &amp;&amp; isset($right_column_size)}{assign var='cols' value=(12 - $left_column_size - $right_column_size)}{else}{assign var='cols' value=12}{\/if}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div id=\"center_column\" class=\"center_column col-xs-12 col-sm-{$cols|intval}\"&gt;\r\n&nbsp;{\/if}<\/pre>\n<h2><strong><span style=\"color: #000000;\">Notifications in PrestaShop 1.7<\/span><\/strong><\/h2>\n<p>Notifications appeared in PrestaShop 1.7. This means that a client can now receive notifications from PrestaShop (e.g., notification of errors and successes). The theme can also send messages when certain events occur.<\/p>\n<p>Messages are sent from the controller and are not hardcoded in the template files. This means that all messages are also translated into your specific theme language.<\/p>\n<p>Types of messages:<\/p>\n<ul>\n<li><strong>success<\/strong>&nbsp;&mdash; an action was performed and everything went well;<\/li>\n<li><strong>error<\/strong>&nbsp;&mdash; something went wrong;<\/li>\n<li><strong>warning<\/strong>&nbsp;&mdash; important&nbsp;information merchants should know about;<\/li>\n<li><strong>info<\/strong>&nbsp;&mdash; &ldquo;just so you know&rdquo;.<\/li>\n<\/ul>\n<p>To display messages on the page you need, just place the block<span style=\"font-weight: 400;\"><br>\n<\/span><\/p>\n<pre class=\"lang:xhtml decode:true\">{block name='notifications'}\r\n&nbsp;&nbsp;&nbsp;{include file='_partials\/notifications.tpl'}\r\n{\/block}<\/pre>\n<p>into the necessary template (for CMS pages it will be \/themes\/classic\/templates\/cms\/page.tpl).<\/p>\n<p>In the Starter Theme the default message output block is located in <em>\/templates\/checkout\/checkout.tpl<\/em>, <em>\/templates\/customer\/page.tpl<\/em> and <em>\/templates\/layouts\/layout-both-columns.tpl.<\/em><\/p>\n<h2><strong><span style=\"color: #000000;\">Listing pages<\/span><\/strong><\/h2>\n<p>In PrestaShop 1.7 Listing pages contain the following templates:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image51.png\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy aligncenter size-full wp-image-16084\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/image51.png\" alt=\"image5\" width=\"289\" height=\"338\" title=\"Templates and Layouts in PrestaShop 1.6 vs 1.7\"><\/a><\/p>\n<p>They expand the catalog page without duplicating the code.<\/p>\n<h2><strong><span style=\"color: #000000;\">AJAX page update<\/span><\/strong><\/h2>\n<p>The product list is updated every time the client filters products or uses the search string.<\/p>\n<p>In view of the fact that PrestaShop 1.7 does not have a place for duplicating the code (No presentation code duplication), now the page is not completely rebuilt by javascript. Instead, the core generates the sub template part and returns it to the client. And javascript is only used to place the content of HTML placeholders.<\/p>\n<p>Each ajax request generates the following templates:<\/p>\n<ul>\n<li>catalog\/_partials\/products-top.tpl<\/li>\n<li>catalog\/_partials\/products.tpl<\/li>\n<li>catalog\/_partials\/products-bottom.tpl<\/li>\n<\/ul>\n<h2><strong><span style=\"color: #000000;\">Update the view<\/span><\/strong><\/h2>\n<pre class=\"lang:php decode:true\">import $ from 'jquery';\r\nimport prestashop from 'prestashop';\r\nimport 'velocity-animate';\r\n$(document).ready(() =&gt; {\r\nprestashop.on('updateProductList', (data) =&gt; {\r\n&nbsp;&nbsp;updateProductListDOM(data);\r\n});\r\n}\r\nfunction updateProductListDOM (data) {\r\n$('#search_filters').replaceWith(data.rendered_facets);\r\n$('#js-active-search-filters').replaceWith(data.rendered_active_filters);\r\n$('#js-product-list-top').replaceWith(data.rendered_products_top);\r\n$('#js-product-list').replaceWith(data.rendered_products);\r\n$('#js-product-list-bottom').replaceWith(data.rendered_products_bottom);\r\n}<\/pre>\n<p>Thank you for your time, I really hope this article was helpful. If you still have any questions concerning the differences between the two PrestaShop versions, feel free to leave them in the comment section below.<\/p>\n\n","protected":false},"excerpt":{"rendered":"The differences between PrestaShop 1.7 and 1.6","protected":false},"author":60,"featured_media":16092,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_acf_changed":false,"footnotes":""},"categories":[474,15,520,521],"tags":[],"class_list":["post-16077","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-ecommerce","category-prestashop","category-prestashop-custom-development","category-prestashop-webdesign","post_format-post-format-image"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"Discover detailed comparison of templates, layouts, head and other functions in PrestaShop 1.6 vs 1.7. We share all the secrets in our insightful ecommerce blog\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Alexey Homiakov\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#article\",\"name\":\"Templates and Layouts in PrestaShop 1.6 vs 1.7 | BelVG Blog\",\"headline\":\"Templates and Layouts in PrestaShop 1.6 vs 1.7\",\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/alexey-homiakov#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/Templates-and-Layouts-in-PrestaShop-1.6-vs-1.7.jpg\",\"width\":770,\"height\":433},\"datePublished\":\"2018-06-21T15:48:54+02:00\",\"dateModified\":\"2026-06-25T19:34:22+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":2,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#webpage\"},\"articleSection\":\"ECOMMERCE, Prestashop, PrestaShop Custom Development, PrestaShop Webdesign, Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/prestashop#listItem\",\"name\":\"Prestashop\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/prestashop#listItem\",\"position\":2,\"name\":\"Prestashop\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/prestashop\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#listItem\",\"name\":\"Templates and Layouts in PrestaShop 1.6 vs 1.7\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#listItem\",\"position\":3,\"name\":\"Templates and Layouts in PrestaShop 1.6 vs 1.7\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/prestashop#listItem\",\"name\":\"Prestashop\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/alexey-homiakov#author\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/alexey-homiakov\",\"name\":\"Alexey Homiakov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5ba504d9e7289ffde40eab791bf6a50ab2c43985e0313dd5d9ed1adcbe824e95?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Alexey Homiakov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#webpage\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html\",\"name\":\"Templates and Layouts in PrestaShop 1.6 vs 1.7 | BelVG Blog\",\"description\":\"Discover detailed comparison of templates, layouts, head and other functions in PrestaShop 1.6 vs 1.7. We share all the secrets in our insightful ecommerce blog\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/alexey-homiakov#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/alexey-homiakov#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/Templates-and-Layouts-in-PrestaShop-1.6-vs-1.7.jpg\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html\\\/#mainImage\",\"width\":770,\"height\":433},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#mainImage\"},\"datePublished\":\"2018-06-21T15:48:54+02:00\",\"dateModified\":\"2026-06-25T19:34:22+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Templates and Layouts in PrestaShop 1.6 vs 1.7 | BelVG Blog","description":"Discover detailed comparison of templates, layouts, head and other functions in PrestaShop 1.6 vs 1.7. We share all the secrets in our insightful ecommerce blog","canonical_url":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#article","name":"Templates and Layouts in PrestaShop 1.6 vs 1.7 | BelVG Blog","headline":"Templates and Layouts in PrestaShop 1.6 vs 1.7","author":{"@id":"https:\/\/belvg.com\/blog\/author\/alexey-homiakov#author"},"publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/Templates-and-Layouts-in-PrestaShop-1.6-vs-1.7.jpg","width":770,"height":433},"datePublished":"2018-06-21T15:48:54+02:00","dateModified":"2026-06-25T19:34:22+02:00","inLanguage":"en-US","commentCount":2,"mainEntityOfPage":{"@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#webpage"},"isPartOf":{"@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#webpage"},"articleSection":"ECOMMERCE, Prestashop, PrestaShop Custom Development, PrestaShop Webdesign, Image"},{"@type":"BreadcrumbList","@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/belvg.com\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/prestashop#listItem","name":"Prestashop"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/prestashop#listItem","position":2,"name":"Prestashop","item":"https:\/\/belvg.com\/blog\/category\/prestashop","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#listItem","name":"Templates and Layouts in PrestaShop 1.6 vs 1.7"},"previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#listItem","position":3,"name":"Templates and Layouts in PrestaShop 1.6 vs 1.7","previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/prestashop#listItem","name":"Prestashop"}}]},{"@type":"Organization","@id":"https:\/\/belvg.com\/blog\/#organization","name":"BelVG Blog","description":"Magento and Prestashop articles","url":"https:\/\/belvg.com\/blog\/"},{"@type":"Person","@id":"https:\/\/belvg.com\/blog\/author\/alexey-homiakov#author","url":"https:\/\/belvg.com\/blog\/author\/alexey-homiakov","name":"Alexey Homiakov","image":{"@type":"ImageObject","@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/5ba504d9e7289ffde40eab791bf6a50ab2c43985e0313dd5d9ed1adcbe824e95?s=96&d=mm&r=g","width":96,"height":96,"caption":"Alexey Homiakov"}},{"@type":"WebPage","@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#webpage","url":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html","name":"Templates and Layouts in PrestaShop 1.6 vs 1.7 | BelVG Blog","description":"Discover detailed comparison of templates, layouts, head and other functions in PrestaShop 1.6 vs 1.7. We share all the secrets in our insightful ecommerce blog","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/belvg.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#breadcrumblist"},"author":{"@id":"https:\/\/belvg.com\/blog\/author\/alexey-homiakov#author"},"creator":{"@id":"https:\/\/belvg.com\/blog\/author\/alexey-homiakov#author"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2018\/06\/Templates-and-Layouts-in-PrestaShop-1.6-vs-1.7.jpg","@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html\/#mainImage","width":770,"height":433},"primaryImageOfPage":{"@id":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html#mainImage"},"datePublished":"2018-06-21T15:48:54+02:00","dateModified":"2026-06-25T19:34:22+02:00"},{"@type":"WebSite","@id":"https:\/\/belvg.com\/blog\/#website","url":"https:\/\/belvg.com\/blog\/","name":"BelVG Blog","description":"Magento and Prestashop articles","inLanguage":"en-US","publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"}}]}},"aioseo_meta_data":{"post_id":"16077","title":"Templates and Layouts in PrestaShop 1.6 vs 1.7 | #site_title","description":"Discover detailed comparison of templates, layouts, head and other functions in PrestaShop 1.6 vs 1.7. We share all the secrets in our insightful ecommerce blog","keywords":null,"keyphrases":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-11-03 18:37:07","updated":"2026-11-03 18:37:07"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/category\/prestashop\" title=\"Prestashop\">Prestashop<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tTemplates and Layouts in PrestaShop 1.6 vs 1.7\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/belvg.com\/blog\/"},{"label":"Prestashop","link":"https:\/\/belvg.com\/blog\/category\/prestashop"},{"label":"Templates and Layouts in PrestaShop 1.6 vs 1.7","link":"https:\/\/belvg.com\/blog\/templates-and-layouts-in-prestashop-1-6-vs-1-7.html"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/16077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/comments?post=16077"}],"version-history":[{"count":3,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/16077\/revisions"}],"predecessor-version":[{"id":30717,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/16077\/revisions\/30717"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media\/16092"}],"wp:attachment":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media?parent=16077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/categories?post=16077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/tags?post=16077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}