{"id":12945,"date":"2017-04-19T14:45:18","date_gmt":"2017-04-19T11:45:18","guid":{"rendered":"https:\/\/belvg.com\/blog\/?p=12945"},"modified":"2025-02-21T19:42:17","modified_gmt":"2025-02-21T17:42:17","slug":"how-to-create-a-theme-for-prestashop-1-7-part-2","status":"publish","type":"post","link":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html","title":{"rendered":"How to Create a Theme for Prestashop 1.7. Part 2"},"content":{"rendered":"\n<p>This part continues our series of articles for newbies dedicated to creating themes in Prestashop 1.7. Today we are going to elaborate on peculiarities of JavaScript.&nbsp;<!--more-->We also recommend you to check our previous article that describes <a href=\"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-1.html\" target=\"_blank\" rel=\"noopener\">how to set up a Prestashop 1.7 environment for a developer.<\/a><\/p>\n<p>So, let&rsquo;s begin! First off, edit the <em>theme_folder\/config\/theme.yml<\/em>&nbsp;file. It will be enough just to fill in the <a href=\"https:\/\/github.com\/PrestaShop\/PrestaShop\/blob\/develop\/src\/Core\/Addon\/Theme\/ThemeValidator.php#L80-L92\" target=\"_blank\" rel=\"noopener noreferrer\">required parameters<\/a>. Here you may also find some more information about <a href=\"http:\/\/belvg.com\/blog\/theme-yml-file-the-heart-of-prestashop-1-7.html\" target=\"_blank\" rel=\"noopener\">the Prestashop 1.7 theme.yml file<\/a>. When you create a new theme it is assumed that all scripts should be collected into a single bundle theme.js. Here is a short test of several themes from<a href=\"https:\/\/addons.prestashop.com\" target=\"_blank\" rel=\"noopener noreferrer\"> Addons Marketplace<\/a>. All tests have been run with a limited Internet connection &ndash; we have selected to use the Good 3G (40ms, 1.5Mb\/s, 750kb\/s) connection.<\/p>\n<p>Below you may find the results:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/04\/How-to-Create-a-Theme-for-Prestashop-1.7.-Part-2_image.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"lazy alignnone size-full wp-image-12955\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/04\/How-to-Create-a-Theme-for-Prestashop-1.7.-Part-2_image.jpg\" alt=\"How to Create a Theme for Prestashop 1.7. Part 2_image\" width=\"824\" height=\"146\" title=\"How to Create a Theme for Prestashop 1.7. Part 2\"><\/a><\/p>\n<p>As seen from the above results the load time of certain themes reaches almost 30 seconds and the size of JavaScripts is almost 0.6-1.3 MB. (We do not count the results of 1.9MB since the compression was disabled there).<em>&nbsp;<\/em>Therefore we can conclude that it is better to load big js files asynchronously. It is possible to achieve this using such methods as: <a href=\"http:\/\/requirejs.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">requirejs<\/a>, webpack dynamic import, &lt;script src=&rdquo;&hellip;&rdquo; async&gt; and preload. Each method has its own set of advantages and disadvantages. As concerns the preload method, add&nbsp;the following code to the template head:<\/p>\n<pre class=\"lang:php decode:true \">&lt;!-- \/templates\/_partials\/head.tpl --&gt;\r\n&lt;link rel=\"preload\" href=\"{$urls.base_url}themes\/core.js\" as=\"script\"&gt;\r\n&lt;link rel=\"preload\" href=\"{$urls.js_url}theme.js\" as=\"script\"&gt;<\/pre>\n<p>This is what will happen: <a href=\"http:\/\/caniuse.com\/#feat=link-rel-preload\" target=\"_blank\" rel=\"noopener noreferrer\">browsers that support preload<\/a> will parse the head of an html document and will launch the execution of obligatory scripts in the background: core.js and theme.js files, which are located at the bottom of an html document just before the closing &lt;\/body&gt; tag. You can also add and connect other scripts to your html pages.<\/p>\n<p><strong>Note<\/strong>: this code will not work if you enable the compression and merging of js. Yet the problem can be solved with one simple module.<\/p>\n<div class=\"module_in_content_container\"><a href=\"https:\/\/module-presta.com\/\" class=\"link_to_module\" target=\"_blank\" rel=\"noopener\"><\/a><div class=\"module_content\"><img src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2019\/06\/modules-prestashop-belvg.png\" width=\"481\" height=\"480\" alt=\"modules prestashop belvg\" class=\"module_image\" title=\"How to Create a Theme for Prestashop 1.7. Part 2\"><div class=\"module_content_part\"><h3 class=\"title\">PrestaShop Modules<\/h3><p class=\"module_content_text\">Take your online store to the next level with BelVG PrestaShop Modules<\/p><a href=\"https:\/\/module-presta.com\/\" class=\"link_2_to_module\" target=\"_blank\" style=\"display:inline-block\" rel=\"noopener\"><span class=\"read-more\">Visit the page<\/span><\/a><\/div><\/div><\/div>\n<h2>Core.js in Prestashop 1.7<\/h2>\n<p>Core.js is provided by PrestaShop. This file was written in compliance with the es-2015 standard and complied with the help of <a href=\"https:\/\/babeljs.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Babel <\/a>in es5 to provide compatibility with old browsers, <a href=\"http:\/\/developers.prestashop.com\/themes\/assets\/index.html#about-webpack\" target=\"_blank\" rel=\"noopener noreferrer\">webpack v1<\/a> is used as a bundler. The file has the <a href=\"https:\/\/github.com\/PrestaShop\/PrestaShop\/blob\/develop\/classes\/controller\/FrontController.php#L879\">the highest priority &ndash; 0<\/a>. <a href=\"https:\/\/github.com\/PrestaShop\/PrestaShop\/blob\/develop\/themes\/_core\/js\/theme.js#L1\" target=\"_blank\" rel=\"noopener noreferrer\">It imports<\/a> the <a href=\"https:\/\/github.com\/PrestaShop\/PrestaShop\/blob\/develop\/themes\/package.json#L13\" target=\"_blank\" rel=\"noopener noreferrer\">jQuery v2<\/a> library, as well as follows the logic of PrestaShop and generates various events upon user actions, such as:<\/p>\n<ul>\n<li>changedCheckoutStep;<\/li>\n<li>clickQuickView;<\/li>\n<li>editAddress;<\/li>\n<li>editDelivery;<\/li>\n<li>handleError;<\/li>\n<li>updateCart;<\/li>\n<li>updatedAddressForm;<\/li>\n<li>updatedCart;<\/li>\n<li>updatedDeliveryForm;<\/li>\n<li>updatedProduct;<\/li>\n<li>updateProduct.<\/li>\n<\/ul>\n<p>The interaction is based on the Event model which uses <a href=\"https:\/\/github.com\/PrestaShop\/PrestaShop\/blob\/develop\/themes\/_core\/js\/theme.js#L17\" target=\"_blank\" rel=\"noopener noreferrer\">EventEmitter<\/a>&nbsp;(you can learn more about EventEmitter in the <a href=\"https:\/\/nodejs.org\/api\/events.html\">Node.js manual<\/a>).<\/p>\n<p>Here is an approximate performance algorithm of an event model:<\/p>\n<ul>\n<li>Registering an event handler in the event manager (in our case this is the Prestashop global variable).<\/li>\n<li>Generating an event as a response to some external action (clicking the&nbsp;Add to Cart button, filling in the country name into the delivery field etc).<\/li>\n<li>Sending the event to the event manager (using the <a href=\"https:\/\/nodejs.org\/api\/events.html#events_emitter_emit_eventname_args\" target=\"_blank\" rel=\"noopener noreferrer\">.emit<\/a> method, indicating the type of the event as the first argument).<\/li>\n<li>The event manager receives the event and searches for a registered handler (to register a custom handler for an event one can use the <a href=\"https:\/\/nodejs.org\/api\/events.html#events_emitter_on_eventname_listener\" target=\"_blank\" rel=\"noopener noreferrer\">.on<\/a> or <a href=\"https:\/\/nodejs.org\/api\/events.html#events_emitter_once_eventname_listener\" target=\"_blank\" rel=\"noopener noreferrer\">.once<\/a> methods which receive two obligatory parameters &ndash; the name of the event and the function of the event handler).<\/li>\n<li>The event manager calls the handler.<\/li>\n<li>Proceeding to point 2.<\/li>\n<\/ul>\n<p>Following this model gives us a lot of flexibility. We should also pay special attention to handleError. Error handling is often ignored by developers, but by using this event you can cover almost all possible errors which will be mostly related to Ajax queries.<\/p>\n<p>Also, for other events (such as <em>editAddress, editDelivery, updatedAddressForm, updatedDeliveryForm<\/em>) you can add a custom form validation, upload processing and product updating (events: <em>clickQuickView, updatedAddressForm, updatedDeliveryForm, updatedProduct, updateProduct, updateProductList<\/em>).<\/p>\n<h3>It is also important to mention modules&rsquo; scripts<\/h3>\n<p>How is it possible to modify them or remove\/exclude from a page? It is quite simple: to redefine a js or css module file you need to create a copy of the same file in the theme folder, retaining the original path to the file. To delete (cancel the connection) a script you should keep the redefined file empty.<\/p>\n<p>Source files:<\/p>\n<pre class=\"lang:php decode:true \">&lt;code&gt;\r\nmodules\/&lt;module_name&gt;\/path\/to\/file.{css,js}\r\nmodules\/ps_imageslider\/js\/homeslider.js\r\n&lt;\/code&gt;<\/pre>\n<p>Redefining:<\/p>\n<pre class=\"lang:php decode:true\">&lt;code&gt;\r\n&lt;theme_folder&gt;\/modules\/&lt;module_name&gt;\/path\/to\/file.{css,js}\r\nmy_theme\/modules\/ps_imageslider\/js\/homeslider.js\r\n&lt;\/code&gt;  \r\n<\/pre>\n<p>Additionally, it would be great to <a href=\"https:\/\/belvg.com\/blog\/setting-up-hot-module-replacement-for-webpack-1-x-in-prestashop-1-7.html\">set up livereload<\/a> to speed up the development process.<\/p>\n<p>If you have any questions, please, feel free to leave your comments below!<\/p>\n<div class=\"module_in_content_container\"><a href=\"https:\/\/belvg.com\/prestashop-support\" class=\"link_to_module\" target=\"_blank\" rel=\"noopener\"><\/a><div class=\"module_content\"><img src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2019\/06\/support_prestashop.png\" width=\"100\" height=\"100\" alt=\"support_prestashop\" class=\"module_image\" title=\"How to Create a Theme for Prestashop 1.7. Part 2\"><div class=\"module_content_part\"><h3 class=\"title\">PrestaShop Support &amp; Maintenance<\/h3><p class=\"module_content_text\">Take your online store to the next level with BelVG PrestaShop Support &amp; Maintenance<\/p><a href=\"https:\/\/belvg.com\/prestashop-support\" class=\"link_2_to_module\" target=\"_blank\" style=\"display:inline-block\" rel=\"noopener\"><span class=\"read-more\">Visit the page<\/span><\/a><\/div><\/div><\/div>\n\n","protected":false},"excerpt":{"rendered":"This part continues our series of articles for newbies dedicated to creating themes in Prestashop &#8230;","protected":false},"author":122,"featured_media":12947,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_acf_changed":false,"footnotes":""},"categories":[15,520,461,522],"tags":[],"class_list":["post-12945","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-prestashop","category-prestashop-custom-development","category-prestashop-development","category-prestashop-speed-optimization","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=\"The article describes how to create a theme in Prestashop 1.7 with considering the peculiarities of JavaScript. It would be useful especially for newbies.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Galina Solopiy\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.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\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#article\",\"name\":\"How to Create a Theme for Prestashop 1.7 \\u2013 Pt 2 | BelVG Blog\",\"headline\":\"How to Create a Theme for Prestashop 1.7. Part 2\",\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/g-solopiy#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/How-to-Create-a-Theme-for-Prestashop-1.7.-Part-2.jpg\",\"width\":770,\"height\":209,\"caption\":\"How to Create a Theme for Prestashop 1.7. Part 2\"},\"datePublished\":\"2017-04-19T14:45:18+02:00\",\"dateModified\":\"2025-02-21T19:42:17+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":4,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#webpage\"},\"articleSection\":\"Prestashop, PrestaShop Custom Development, Prestashop Development, PrestaShop Speed Optimization, Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.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\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#listItem\",\"name\":\"How to Create a Theme for Prestashop 1.7. Part 2\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#listItem\",\"position\":3,\"name\":\"How to Create a Theme for Prestashop 1.7. Part 2\",\"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\\\/g-solopiy#author\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/g-solopiy\",\"name\":\"Galina Solopiy\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fb44d62cd59c1855c880128d7a2831a6336603547afba8637ba6be80375372d7?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Galina Solopiy\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#webpage\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html\",\"name\":\"How to Create a Theme for Prestashop 1.7 \\u2013 Pt 2 | BelVG Blog\",\"description\":\"The article describes how to create a theme in Prestashop 1.7 with considering the peculiarities of JavaScript. It would be useful especially for newbies.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/g-solopiy#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/g-solopiy#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/How-to-Create-a-Theme-for-Prestashop-1.7.-Part-2.jpg\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html\\\/#mainImage\",\"width\":770,\"height\":209,\"caption\":\"How to Create a Theme for Prestashop 1.7. Part 2\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#mainImage\"},\"datePublished\":\"2017-04-19T14:45:18+02:00\",\"dateModified\":\"2025-02-21T19:42:17+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":"How to Create a Theme for Prestashop 1.7 \u2013 Pt 2 | BelVG Blog","description":"The article describes how to create a theme in Prestashop 1.7 with considering the peculiarities of JavaScript. It would be useful especially for newbies.","canonical_url":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#article","name":"How to Create a Theme for Prestashop 1.7 \u2013 Pt 2 | BelVG Blog","headline":"How to Create a Theme for Prestashop 1.7. Part 2","author":{"@id":"https:\/\/belvg.com\/blog\/author\/g-solopiy#author"},"publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/04\/How-to-Create-a-Theme-for-Prestashop-1.7.-Part-2.jpg","width":770,"height":209,"caption":"How to Create a Theme for Prestashop 1.7. Part 2"},"datePublished":"2017-04-19T14:45:18+02:00","dateModified":"2025-02-21T19:42:17+02:00","inLanguage":"en-US","commentCount":4,"mainEntityOfPage":{"@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#webpage"},"isPartOf":{"@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#webpage"},"articleSection":"Prestashop, PrestaShop Custom Development, Prestashop Development, PrestaShop Speed Optimization, Image"},{"@type":"BreadcrumbList","@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.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\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#listItem","name":"How to Create a Theme for Prestashop 1.7. Part 2"},"previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#listItem","position":3,"name":"How to Create a Theme for Prestashop 1.7. Part 2","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\/g-solopiy#author","url":"https:\/\/belvg.com\/blog\/author\/g-solopiy","name":"Galina Solopiy","image":{"@type":"ImageObject","@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/fb44d62cd59c1855c880128d7a2831a6336603547afba8637ba6be80375372d7?s=96&d=mm&r=g","width":96,"height":96,"caption":"Galina Solopiy"}},{"@type":"WebPage","@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#webpage","url":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html","name":"How to Create a Theme for Prestashop 1.7 \u2013 Pt 2 | BelVG Blog","description":"The article describes how to create a theme in Prestashop 1.7 with considering the peculiarities of JavaScript. It would be useful especially for newbies.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/belvg.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#breadcrumblist"},"author":{"@id":"https:\/\/belvg.com\/blog\/author\/g-solopiy#author"},"creator":{"@id":"https:\/\/belvg.com\/blog\/author\/g-solopiy#author"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2017\/04\/How-to-Create-a-Theme-for-Prestashop-1.7.-Part-2.jpg","@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html\/#mainImage","width":770,"height":209,"caption":"How to Create a Theme for Prestashop 1.7. Part 2"},"primaryImageOfPage":{"@id":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html#mainImage"},"datePublished":"2017-04-19T14:45:18+02:00","dateModified":"2025-02-21T19:42:17+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":"12945","title":"How to Create a Theme for Prestashop 1.7 \u2013 Pt 2 | #site_title","description":"The article describes how to create a theme in Prestashop 1.7 with considering the peculiarities of JavaScript. It would be useful especially for newbies.","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:20","updated":"2026-11-03 18:37:20"},"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\tHow to Create a Theme for Prestashop 1.7. Part 2\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":"How to Create a Theme for Prestashop 1.7. Part 2","link":"https:\/\/belvg.com\/blog\/how-to-create-a-theme-for-prestashop-1-7-part-2.html"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/12945","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\/122"}],"replies":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/comments?post=12945"}],"version-history":[{"count":13,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/12945\/revisions"}],"predecessor-version":[{"id":29117,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/12945\/revisions\/29117"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media\/12947"}],"wp:attachment":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media?parent=12945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/categories?post=12945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/tags?post=12945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}