{"id":359782,"date":"2022-12-05T09:40:26","date_gmt":"2022-12-05T09:40:26","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=359782"},"modified":"2023-02-22T06:04:29","modified_gmt":"2023-02-22T06:04:29","slug":"prestashop-controller-lifecycle","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/","title":{"rendered":"PrestaShop Controller Lifecycle"},"content":{"rendered":"\n<p>In this blog, we are going to learn the PrestaShop controller lifecycle to ease the module development and work PrestaShop uses predefined steps in controller execution one by one.<\/p>\n\n\n\n<p>Here we are going to explain to you the hierarchy of controller method execution.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png\" alt=\"PrestaShop Controller Lifecycle\" class=\"wp-image-360288\" width=\"338\" height=\"324\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png 626w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers-300x288.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers-250x240.png 250w\" sizes=\"(max-width: 338px) 100vw, 338px\" loading=\"lazy\" \/><figcaption class=\"wp-element-caption\">PrestaShop Controller Lifecycle<\/figcaption><\/figure>\n<\/div>\n\n\n<p>In below example, you can find step-by-step methods called in the controller<\/p>\n\n\n\n<p>The execution order of the controller&#8217;s functions :<code> classes\/controller\/Controller.php<\/code><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">I. __construct()\nII. run() (called by Dispatcher-&gt;dispatch)\n    1. checkAccess()\n    2. init()\n        A. AdminController-&gt;init():\n            i. check employee\n            ii. $this-&gt;initProcess();\n                a. if $_POST filter, $this-&gt;filter = true\n                b. Define $this-&gt;action based on different conditions\n                c. $this-&gt;action = delete_image\/delete\/status\/position\/\n                                   save\/new\/view\/details\/export\/\n                                   reset_filters\/update_fields\/bulk\n                d. can error \n                    You do not have permission to view\/edit\/add\/delete \n            iii. $this-&gt;initBreadcrumbs();\n             iv. $this-&gt;initModal();\n              v. $this-&gt;initToolbarFlags();\n                   a. $this-&gt;getLanguages\n                   b. $this-&gt;initToolbar\n                   c. $this-&gt;initTabModuleList\n                   d. $this-&gt;initPageHeaderToolbar\n                      $this-&gt;loadObject &#091;in &#039;view&#039; or &#039;edit&#039;] can error               \n                      The object cannot be loaded (or found) or \n                      The object cannot be loaded \n                         (the identifier is missing or invalid)\n             vi. $this-&gt;initNotifications();\n        B. FrontController-&gt;init()\n            i. \/\/ To do\n    3. setMedia() or setMobileMedia()\n        Adds all JavaScript and CSS specifics to the page so that they\n        can be combined, compressed and cached \n    4. AdminController-&gt;setMedia()\n        A. $this-&gt;addCSS(themes, css, public, vendor)\n        B. $this-&gt;addJS(themes, css, public, vendor, public bundle)\n    5. postProcess()\n        A. AdminController-&gt;postProcess()\n            i. $this-&gt;processFilter() &#091;if !$this-&gt;ajax &amp;&amp; $this-&gt;filter]\n            ii. Hook actionAdmin{Action}Before\n            iii. Hook action{Class}{Action}Before\n            iv. process{Action} (or ajaxProcess{Action} if $this-&gt;ajax)\n            v. Hook actionAdmin{Action}After\n            vi. Hook action{Class}{Action}After\n        B. FrontController-&gt;postProcess()\n    6. redirect() &#091;if $this-&gt;redirect_after]\n    7. initHeader()\n    8. initContent()\n        A. AdminController-&gt;initContent\n            i. $this-&gt;viewAccess\n            ii. $this-&gt;loadObject(true)\n            iii. &#091;if display == edit\/add]\n                a. loadObject(true)\n                b. renderForm\n            iv. &#091;if display == view]\n                a. loadObject(true)\n                b. renderView\n            v. &#091;if display == details]\n                a. renderDetails\n            vi. elseif !$this-&gt;ajax\n                a. $this-&gt;renderModulesList()\n                b. $this-&gt;renderKpis()\n                c. $this-&gt;renderList()\n                d. $this-&gt;renderOptions()\n                e. $this-&gt;displayRequiredFields \n                   &#091;if $this-&gt;required_database]\n            vii. assign &#039;content&#039;\n        B. FrontController-&gt;initContent\n            \/\/ todo\n    9. initFooter()\n    10. displayAjax() &#091;if $this-&gt;ajax]\n    11. display() &#091;else]\n        A. FrontController-&gt;smartyOutputContent\n        B. AdminController-&gt;smartyOutputContent($this-&gt;layout)<\/pre>\n\n\n\n<p>This is how controller methods are executed in PrestaShop in top-to-bottom order when a controller is called. You can easily understand and start your development with the help of the above details.<\/p>\n\n\n\n<p>In a MVC architecture, a Controller manages the synchronization events between the View and the Model, and keeps them up to date. It receives all the user events and triggers the actions to perform.<\/p>\n\n\n\n<p>If you are looking for function uses in the above example you can visit the given links.  <\/p>\n\n\n\n<p>That\u2019s all.<\/p>\n\n\n\n<p>If you are facing any issues or doubts in the above process, please feel free to contact us in the comment section.<\/p>\n\n\n\n<p>I would be happy to help.<\/p>\n\n\n\n<p>Also, you can explore our&nbsp;<a href=\"https:\/\/webkul.com\/prestashop-development\/\" target=\"_blank\" rel=\"noreferrer noopener\">PrestaShop Development Services<\/a>&nbsp;and a large range of quality&nbsp;<a href=\"https:\/\/store.webkul.com\/PrestaShop-Extensions.html\">PrestaShop Modules<\/a>.<\/p>\n\n\n\n<p>For any doubt contact us at&nbsp;<a href=\"mailto:support@webkul.com\" target=\"_blank\" rel=\"noreferrer noopener\">support@webkul.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog, we are going to learn the PrestaShop controller lifecycle to ease the module development and work PrestaShop uses predefined steps in controller execution one by one. Here we are going to explain to you the hierarchy of controller method execution. In below example, you can find step-by-step methods called in the controller <a href=\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":386,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[209],"tags":[4363,5054,4126,12670],"class_list":["post-359782","post","type-post","status-publish","format-standard","hentry","category-prestashop","tag-create-admin-controller-with-tab-in-a-module-in-prestashop","tag-create-prestashop-custom-forms","tag-prestashop-1-7","tag-prestashop-component"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PrestaShop Controller Lifecycle - Webkul Blog<\/title>\n<meta name=\"description\" content=\"PrestaShop controller lifecycle to understand how controller works when it is called by user, you can find here step by step method called.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PrestaShop Controller Lifecycle - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"PrestaShop controller lifecycle to understand how controller works when it is called by user, you can find here step by step method called.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-05T09:40:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-22T06:04:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png\" \/>\n<meta name=\"author\" content=\"Vineet Kr. Gupta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vineet Kr. Gupta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/\"},\"author\":{\"name\":\"Vineet Kr. Gupta\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/bb871a3e8dd81b2b0a1690f195da6208\"},\"headline\":\"PrestaShop Controller Lifecycle\",\"datePublished\":\"2022-12-05T09:40:26+00:00\",\"dateModified\":\"2023-02-22T06:04:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/\"},\"wordCount\":211,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png\",\"keywords\":[\"create admin controller with tab in a module in prestashop\",\"create prestashop custom forms\",\"Prestashop 1.7\",\"PrestaShop Component\"],\"articleSection\":[\"prestashop\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/\",\"url\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/\",\"name\":\"PrestaShop Controller Lifecycle - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png\",\"datePublished\":\"2022-12-05T09:40:26+00:00\",\"dateModified\":\"2023-02-22T06:04:29+00:00\",\"description\":\"PrestaShop controller lifecycle to understand how controller works when it is called by user, you can find here step by step method called.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png\",\"width\":626,\"height\":600,\"caption\":\"module-controllers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PrestaShop Controller Lifecycle\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/bb871a3e8dd81b2b0a1690f195da6208\",\"name\":\"Vineet Kr. Gupta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b8dd0faa3589c82d64586b71a9e84be11a8b9a8f3b74bb952442b904af1c68f2?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b8dd0faa3589c82d64586b71a9e84be11a8b9a8f3b74bb952442b904af1c68f2?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Vineet Kr. Gupta\"},\"description\":\"Proficient Software Engineer specializing in PrestaShop, with expertise in Mobile App Development, eCommerce Platform Development, and POS services. Delivers innovative, user-focused solutions that enhance functionality and drive efficient business operations.\",\"url\":\"https:\/\/webkul.com\/blog\/author\/vineetkr-gupta008\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PrestaShop Controller Lifecycle - Webkul Blog","description":"PrestaShop controller lifecycle to understand how controller works when it is called by user, you can find here step by step method called.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/","og_locale":"en_US","og_type":"article","og_title":"PrestaShop Controller Lifecycle - Webkul Blog","og_description":"PrestaShop controller lifecycle to understand how controller works when it is called by user, you can find here step by step method called.","og_url":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2022-12-05T09:40:26+00:00","article_modified_time":"2023-02-22T06:04:29+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png","type":"","width":"","height":""}],"author":"Vineet Kr. Gupta","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Vineet Kr. Gupta","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/"},"author":{"name":"Vineet Kr. Gupta","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/bb871a3e8dd81b2b0a1690f195da6208"},"headline":"PrestaShop Controller Lifecycle","datePublished":"2022-12-05T09:40:26+00:00","dateModified":"2023-02-22T06:04:29+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/"},"wordCount":211,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png","keywords":["create admin controller with tab in a module in prestashop","create prestashop custom forms","Prestashop 1.7","PrestaShop Component"],"articleSection":["prestashop"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/","url":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/","name":"PrestaShop Controller Lifecycle - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png","datePublished":"2022-12-05T09:40:26+00:00","dateModified":"2023-02-22T06:04:29+00:00","description":"PrestaShop controller lifecycle to understand how controller works when it is called by user, you can find here step by step method called.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/12\/module-controllers.png","width":626,"height":600,"caption":"module-controllers"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/prestashop-controller-lifecycle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PrestaShop Controller Lifecycle"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/bb871a3e8dd81b2b0a1690f195da6208","name":"Vineet Kr. Gupta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b8dd0faa3589c82d64586b71a9e84be11a8b9a8f3b74bb952442b904af1c68f2?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8dd0faa3589c82d64586b71a9e84be11a8b9a8f3b74bb952442b904af1c68f2?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Vineet Kr. Gupta"},"description":"Proficient Software Engineer specializing in PrestaShop, with expertise in Mobile App Development, eCommerce Platform Development, and POS services. Delivers innovative, user-focused solutions that enhance functionality and drive efficient business operations.","url":"https:\/\/webkul.com\/blog\/author\/vineetkr-gupta008\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/359782","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/386"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=359782"}],"version-history":[{"count":18,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/359782\/revisions"}],"predecessor-version":[{"id":369817,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/359782\/revisions\/369817"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=359782"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=359782"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=359782"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}