{"id":388539,"date":"2023-06-27T10:46:52","date_gmt":"2023-06-27T10:46:52","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=388539"},"modified":"2023-06-27T12:55:33","modified_gmt":"2023-06-27T12:55:33","slug":"override-symfony-grid-listing-in-prestashop","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/","title":{"rendered":"Override Symfony Grid Listing in PrestaShop"},"content":{"rendered":"\n<p>In this blog, we are going to learn how to\u00a0<strong>override Symfony grid listing in PrestaShop module<\/strong> using <strong>Symfony<\/strong> overriding.<\/p>\n\n\n\n<p>Previously for adding new column in PrestaShop Symfony grid listing we uses hooks as discussed in our previous blog <a href=\"https:\/\/webkul.com\/blog\/adding-a-new-column-in-prestashop-new-symfony-admin-controller-grid-page-with-module\/\" target=\"_blank\" rel=\"noreferrer noopener\">Adding a new column in PrestaShop new Symfony admin controller grid page with module<\/a>.<\/p>\n\n\n\n<p>In this example we are going to override order grid listing:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">\u251c\u2500\u2500 modules\n    \u251c\u2500\u2500 yourmodule\n        \u251c\u2500\u2500 config        \n        \u2502     \u2514\u2500\u2500 routes.yml\n        \u251c\u2500\u2500 src        \n        \u2502     \u2514\u2500\u2500 Controller\n        \u2502           \u2514\u2500\u2500 Admin\n        \u2502               \u2514\u2500\u2500 Sell\n        \u2502                   \u2514\u2500\u2500 Order\n        \u2502                       \u2514\u2500\u2500 OrderController.php\n        \u251c\u2500\u2500 composer.json\n        \u2514\u2500\u2500 yourmodule.php<\/pre>\n\n\n\n<p>Create module folder structure like above shown snippet, here we are overriding OrderController so the path created in src is same as PrestaShop path.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/06\/Orders-%E2%80%A2-PS-80-1200x551.png\" alt=\"Override Symfony Grid Listing in PrestaShop\" class=\"wp-image-388600\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Now in composer.json we define name space as below snippet<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">{\n    &quot;name&quot;: &quot;prestashop\/yourmodule&quot;,\n    &quot;description&quot;: &quot;Override Order Grid Listing&quot;,\n    &quot;type&quot;: &quot;prestashop-module&quot;,\n    &quot;autoload&quot;: {\n        &quot;psr-4&quot;: {\n            &quot;YourModule\\\\Controller\\\\Admin\\\\Sell\\\\Order\\\\&quot;:\n                &quot;src\/Controller\/Admin\/Sell\/Order\/&quot;,\n            &quot;PrestaShop\\\\Module\\\\YourModule\\\\&quot;: &quot;src\/&quot;\n        }\n    },\n    &quot;config&quot;: {\n        &quot;prepend-autoloader&quot;: false\n    }\n}<\/pre>\n\n\n\n<p>Now run <code><strong>composer dumpautoload<\/strong><\/code> command to create <strong>autoload<\/strong> files and <code><strong>vendor<\/strong><\/code> directory.<\/p>\n\n\n\n<p>Load <strong><code>require_once __DIR__ . '\/vendor\/autoload.php'<\/code><\/strong>; in module main file <strong>yourmodule.php<\/strong> this load created namespace in module to execute.<\/p>\n\n\n\n<p>In <strong>routes.yml<\/strong> we will add route for our new overriding Symfony controller routes as below snippet<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">admin_orders_index:\n  path: \/orders\n  methods: &#091;GET]\n  defaults:\n    _controller: &#039;PrestaShop\\Module\\YourModule\\Controller\\Admin\\Sell\\Order\\\n                  OrderController::indexAction&#039;\n    _legacy_controller: AdminOrders\n    _legacy_link: AdminOrders<\/pre>\n\n\n\n<p>Using above yml file we are rerouting order listing to module overridden controller indexAction.<\/p>\n\n\n\n<p>Now it is ready for loading indexAction from new overridden controller, code sinppet for OrderController.php is given below,<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">namespace PrestaShop\\Module\\YourModule\\Controller\\Admin\\Sell\\Order;\n\nuse PrestaShop\\PrestaShop\\Core\\Search\\Filters\\OrderFilters;\nuse PrestaShopBundle\\Controller\\Admin\\FrameworkBundleAdminController;\nuse PrestaShopBundle\\Form\\Admin\\Sell\\Order\\ChangeOrdersStatusType;\nuse PrestaShopBundle\\Security\\Annotation\\AdminSecurity;\nuse Symfony\\Component\\HttpFoundation\\Request;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse PrestaShop\\PrestaShop\\Core\\Grid\\Record\\RecordCollection;\nuse Db;\n\nclass OrderController extends FrameworkBundleAdminController\n{\n  public const DEFAULT_PRODUCTS_NUMBER = 8;    \n  public const PRODUCTS_PAGINATION_OPTIONS = &#091;8, 20, 50, 100];\n\n  \/**\n  * @AdminSecurity(&quot;is_granted(&#039;read&#039;,request.get(&#039;_legacy_controller&#039;))&quot;)\n  *\n  * @return Response\n  *\/\n  public function indexAction(Request $request, OrderFilters $filters)\n  {\n    $orderKpiFactory = $this\n      -&gt;get(&#039;prestashop.core.kpi_row.factory.orders&#039;);\n    $orderGrid = $this-&gt;get(&#039;prestashop.core.grid.factory.order&#039;)\n      -&gt;getGrid($filters);\n    $changeOrderStatusesForm = $this\n      -&gt;createForm(ChangeOrdersStatusType::class);\n\n    $newCol&#091;] = &#091;\n      &quot;id&quot; =&gt; &quot;order_type_new&quot;,\n      &quot;name&quot; =&gt; &quot;Order From&quot;,\n      &quot;type&quot; =&gt; &quot;data&quot;,\n      &quot;options&quot; =&gt; &#091;\n        &quot;sortable&quot; =&gt; false,\n        &quot;clickable&quot; =&gt; false,\n        &quot;alignment&quot; =&gt; &quot;left&quot;,\n        &quot;field&quot; =&gt; &quot;order_type_new&quot;\n      ]\n    ];\n    $gridWk = $this-&gt;presentGrid($orderGrid);\n    $gridWk&#091;&#039;columns&#039;] = array_merge(\n      array_slice($gridWk&#091;&#039;columns&#039;], 0, 9),\n      $newCol,\n      array_slice($gridWk&#091;&#039;columns&#039;], 9)\n    );\n    $recordsWk = $gridWk&#091;&#039;data&#039;]&#091;&#039;records&#039;];\n    $itemsWk = $recordsWk-&gt;all();\n    foreach ($itemsWk as &amp;$item) {\n      $idOrder = $item&#091;&#039;id_order&#039;];\n      $query = Db::getInstance()-&gt;getValue(\n        &quot;SELECT `id_order` FROM `ps_offline_order` \n        WHERE `id_order` = &quot;.$idOrder\n      );\n      if ($query != false) {\n        $item&#091;&#039;order_type_new&#039;] = &#039;Offline&#039;;\n      } else {\n        $item&#091;&#039;order_type_new&#039;] = &#039;WEB&#039;;\n      }\n    }\n    $gridWk&#091;&#039;data&#039;]&#091;&#039;records&#039;] = new RecordCollection($itemsWk);   \n\n    return $this-&gt;render(\n      &#039;@PrestaShop\/Admin\/Sell\/Order\/Order\/index.html.twig&#039;,\n      &#091;\n        \/\/ &#039;orderGrid&#039; =&gt; $this-&gt;presentGrid($orderGrid),\n        &#039;orderGrid&#039; =&gt; $gridWk,\n        &#039;help_link&#039; =&gt; $this-&gt;generateSidebarLink(\n          $request-&gt;attributes-&gt;get(&#039;_legacy_controller&#039;)\n        ),\n        &#039;enableSidebar&#039; =&gt; true,\n        &#039;changeOrderStatusesForm&#039; =&gt; $changeOrderStatusesForm\n                                       -&gt;createView(),\n        &#039;orderKpi&#039; =&gt; $orderKpiFactory-&gt;build(),\n        &#039;layoutHeaderToolbarBtn&#039; =&gt; $this-&gt;getOrderToolbarButtons(),\n      ]\n    );\n  }\n}<\/pre>\n\n\n\n<p>In this example we have added new column named <strong>Order From<\/strong> which is coming from module table <strong>offline_order<\/strong> as you can see the query written to fetch data and then we have changed the <strong>$this-&gt;presentGrid($orderGrid)<\/strong> function with result.<\/p>\n\n\n\n<p>This is how we can Override Symfony Grid Listing in PrestaShop module.<\/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 through 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 how to\u00a0override Symfony grid listing in PrestaShop module using Symfony overriding. Previously for adding new column in PrestaShop Symfony grid listing we uses hooks as discussed in our previous blog Adding a new column in PrestaShop new Symfony admin controller grid page with module. In this example <a href=\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/\">[&#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":[2539,2710],"class_list":["post-388539","post","type-post","status-publish","format-standard","hentry","category-prestashop","tag-overriding-controllers","tag-symfony"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Override Symfony Grid Listing in PrestaShop - Webkul Blog<\/title>\n<meta name=\"description\" content=\"How to\u00a0override Symfony grid listing in PrestaShop module using Symfony overriding, for faster load of grid listing and enhance performance.\" \/>\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\/override-symfony-grid-listing-in-prestashop\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Override Symfony Grid Listing in PrestaShop - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"How to\u00a0override Symfony grid listing in PrestaShop module using Symfony overriding, for faster load of grid listing and enhance performance.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/\" \/>\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=\"2023-06-27T10:46:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-27T12:55:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-og.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/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\/override-symfony-grid-listing-in-prestashop\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/\"},\"author\":{\"name\":\"Vineet Kr. Gupta\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/bb871a3e8dd81b2b0a1690f195da6208\"},\"headline\":\"Override Symfony Grid Listing in PrestaShop\",\"datePublished\":\"2023-06-27T10:46:52+00:00\",\"dateModified\":\"2023-06-27T12:55:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/\"},\"wordCount\":293,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"keywords\":[\"overriding controllers\",\"symfony\"],\"articleSection\":[\"prestashop\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/\",\"url\":\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/\",\"name\":\"Override Symfony Grid Listing in PrestaShop - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"datePublished\":\"2023-06-27T10:46:52+00:00\",\"dateModified\":\"2023-06-27T12:55:33+00:00\",\"description\":\"How to\u00a0override Symfony grid listing in PrestaShop module using Symfony overriding, for faster load of grid listing and enhance performance.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Override Symfony Grid Listing in PrestaShop\"}]},{\"@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":"Override Symfony Grid Listing in PrestaShop - Webkul Blog","description":"How to\u00a0override Symfony grid listing in PrestaShop module using Symfony overriding, for faster load of grid listing and enhance performance.","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\/override-symfony-grid-listing-in-prestashop\/","og_locale":"en_US","og_type":"article","og_title":"Override Symfony Grid Listing in PrestaShop - Webkul Blog","og_description":"How to\u00a0override Symfony grid listing in PrestaShop module using Symfony overriding, for faster load of grid listing and enhance performance.","og_url":"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2023-06-27T10:46:52+00:00","article_modified_time":"2023-06-27T12:55:33+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-og.png","type":"image\/png"}],"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\/override-symfony-grid-listing-in-prestashop\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/"},"author":{"name":"Vineet Kr. Gupta","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/bb871a3e8dd81b2b0a1690f195da6208"},"headline":"Override Symfony Grid Listing in PrestaShop","datePublished":"2023-06-27T10:46:52+00:00","dateModified":"2023-06-27T12:55:33+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/"},"wordCount":293,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"keywords":["overriding controllers","symfony"],"articleSection":["prestashop"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/","url":"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/","name":"Override Symfony Grid Listing in PrestaShop - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"datePublished":"2023-06-27T10:46:52+00:00","dateModified":"2023-06-27T12:55:33+00:00","description":"How to\u00a0override Symfony grid listing in PrestaShop module using Symfony overriding, for faster load of grid listing and enhance performance.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/override-symfony-grid-listing-in-prestashop\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Override Symfony Grid Listing in PrestaShop"}]},{"@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\/388539","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=388539"}],"version-history":[{"count":16,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/388539\/revisions"}],"predecessor-version":[{"id":388612,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/388539\/revisions\/388612"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=388539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=388539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=388539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}