{"id":73085,"date":"2017-03-14T12:35:00","date_gmt":"2017-03-14T12:35:00","guid":{"rendered":"http:\/\/webkul.com\/blog\/?p=73085"},"modified":"2019-01-08T08:08:41","modified_gmt":"2019-01-08T08:08:41","slug":"joomla-virtuemart-multi-variant-product","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/","title":{"rendered":"Joomla Virtuemart custom plug-in to make multi-variant product"},"content":{"rendered":"<p style=\"text-align: justify\">A Multi-variant product is a product that is available in multiple variants(like &#8211; color, size, etc.), and price of the product varies, based on particular variant selection by any buyer, though the actual product id is same for all. Joomla VirtueMart apart from other custom fields allows application of custom field plug-ins onto its products. These additional custom fields plug-ins can be used to provide additional properties to a product, like \u2013 dynamic product range selection based on a variant selection.<br \/>\nCustom plugin in Joomla VirtueMart falls under the vmcustom group of plugins, so the base class for it will be named as plgVmCustomYourPluginName that extends class vmCustomPlugin. The structure for constructor would come as &#8211;<\/p>\n<pre class=\"brush:php\">\/**\r\n * Webkul Software.\r\n *\r\n * @category  Webkul\r\n * @author    Webkul\r\n * @copyright Copyright (c) 2010-2017 Webkul Software Private Limited (https:\/\/webkul.com)\r\n * @license   https:\/\/store.webkul.com\/license.html\r\n *\/\r\n\r\nclass plgVmCustomYourPluginName extends vmCustomPlugin {\r\n\tfunction __construct(&amp; $subject, $config) {\r\n\t\tparent::__construct($subject, $config);\r\n\t\t$varsToPush = array(\r\n\t\t\t'var_1'=&gt;array(0,'bool'),\r\n\t\t\t'var_2'=&gt;array('','string'),\r\n\t\t\t'var_3'=&gt;array(array(),'array'),\r\n\t\t\t'var_4'=&gt;array(0,'int')\r\n\t\t);\r\n\t\t$this-&gt;setConfigParameterable('customfield_params', $varsToPush);\r\n\t}<\/pre>\n<p style=\"text-align: justify\">We will use var_1 as a check input to change product price, and var_2 as the price to be added dynamically.<br \/>\nThe vars used that are set in config parameters are then can be accessed by object &#8216;$field&#8217; and can be edited by any input field with name=&#8221;customfield_params[&lt;?php echo $row ?&gt;][var_2]&#8221; on product edit page in backend as-<\/p>\n<pre class=\"brush:php\">\/**\r\n * Webkul Software.\r\n *\r\n * @category  Webkul\r\n * @author    Webkul\r\n * @copyright Copyright (c) 2010-2017 Webkul Software Private Limited (https:\/\/webkul.com)\r\n * @license   https:\/\/store.webkul.com\/license.html\r\n *\/\r\n\r\n\/**\r\n * plgVmOnProductEdit get product param for this plugin on edit.\r\n * Displays the custom field in the product view of the backend\r\n * The custom field should not be displayed before the product being saved. \r\n * Also should not loaded in the child products\r\n * \r\n * @param  object $field - The custom field     \r\n * @param  int $product_id virtuemart product id\r\n * @param  int $row - The a\/a of that field within the product      \r\n * @param  string $retValue  - The html that regards the custom fields of that product\r\n * \r\n * @return boolean true\r\n * @since\t1.0\r\n *\/\r\nfunction plgVmOnProductEdit($field, $product_id, &amp;$row, &amp;$retValue) {\r\n\tif ($field-&gt;custom_element != $this-&gt;_name) return '';\r\n\tob_start(); ?&gt;\r\n\t&lt;table class=\"adminlist\"&gt;\r\n\t\t&lt;tbody&gt;\r\n\t\t\t&lt;!-- making any field in product edit --&gt;\r\n\t\t\t&lt;tr&gt;\r\n\t\t\t\t&lt;td&gt;\r\n\t\t\t\t\t&lt;input type=\"checkbox\" value=\"1\"&lt;?php if (!empty($field-&gt;var_1)) { ?&gt; checked=\"checked\"&lt;?php } ?&gt; name=\"customfield_params[&lt;?php echo $row; ?&gt;][var_1]\" \/&gt;\r\n\t\t\t\t&lt;\/td&gt;\r\n\t\t\t\t&lt;td&gt;\r\n\t\t\t\t\t&lt;?php \r\n\t\t\t\t\t$var_2 = empty($field-&gt;var_1) ? '' : $field-&gt;var_2; ?&gt;\r\n\t\t\t\t\t&lt;input type=\"text\" name=\"customfield_params[&lt;?php echo $row ?&gt;][var_2]\" value=\"&lt;?php echo $var_1 ?&gt;\" \/&gt;\r\n\t\t\t\t&lt;\/td&gt;\r\n\t\t\t&lt;\/tr&gt;\r\n\t\t&lt;\/tbody&gt;\r\n\t&lt;\/table&gt;\r\n\t&lt;?php\r\n\t$retValue .= ob_get_clean();\r\n\t$row++;\r\n\treturn true;\r\n}<\/pre>\n<p style=\"text-align: justify\">Similarly, these filled vars are then can be accessed by object &#8216;$group&#8217; and can be edited by any input field with name=&#8221;customProductData[&lt;?php echo $row ?&gt;][AnyUniqueName]&#8221; on product edit page in backend. Here we are creating a check box, on the selection of which we will change product price.<\/p>\n<pre class=\"brush:php\">\/**\r\n * Webkul Software.\r\n *\r\n * @category  Webkul\r\n * @author    Webkul\r\n * @copyright Copyright (c) 2010-2017 Webkul Software Private Limited (https:\/\/webkul.com)\r\n * @license   https:\/\/store.webkul.com\/license.html\r\n *\/\r\n\r\n\/**\r\n * plgVmOnDisplayProductFEVM3 method to generate output on the product page in FE. \r\n * Display of the Cart Variant\/Non cart variants Custom fields - VM3\r\n * \r\n * @param  object $product Virtuemart Product\r\n * @param  object $group   Virtuemart custom field\r\n *\/\r\nfunction plgVmOnDisplayProductFEVM3(&amp;$product,&amp;$group) {\r\n\tif ($group-&gt;custom_element != $this-&gt;_name) \r\n\t\treturn '';\r\n\t$anyUniqueName = '';\r\n\tob_start(); ?&gt;\r\n\t&lt;div class=\"row\"&gt;\r\n\t\t&lt;div class=\"wk-rent-sel-des\"&gt;\r\n\t\t\t&lt;p&gt;&lt;?php echo $group-&gt;additional_charge_title==''?JText::_('PLG_JVBRES_MOSD_ADDITIONAL_CHARGE'):$group-&gt;additional_charge_title ?&gt;&lt;\/p&gt;\r\n\t\t&lt;\/div&gt;\r\n\t\t&lt;div class=\"wk-rent-sel\"&gt;\r\n\t\t\t&lt;input type=\"checkbox\" name=\"customProductData[&lt;?php echo $group-&gt;virtuemart_product_id; ?&gt;][&lt;?php echo $group-&gt;virtuemart_custom_id; ?&gt;][&lt;?php echo $group-&gt;virtuemart_customfield_id; ?&gt;][anyUniqueName]\" value=\"&lt;?php echo $group-&gt;var_1; ?&gt;\" \/&gt;\r\n\t\t&lt;\/div&gt;\r\n\t&lt;\/div&gt;\r\n\t&lt;?php\r\n\t$group-&gt;display .= ob_get_clean();\r\n}<\/pre>\n<p style=\"text-align: justify\">As you can see, we initialized a variable $anyUniqueName and then used it as an index to the input field. This is done to get the value of it at runtime, so that product price can be changed accordingly. We can do this with the help of modificatorSum in the listed function &#8211;<\/p>\n<pre class=\"brush:php\">\/**\r\n * Webkul Software.\r\n *\r\n * @category  Webkul\r\n * @author    Webkul\r\n * @copyright Copyright (c) 2010-2017 Webkul Software Private Limited (https:\/\/webkul.com)\r\n * @license   https:\/\/store.webkul.com\/license.html\r\n *\/\r\n\r\n\/**\r\n * plgVmPrepareCartProduct previously plgVmCalculateCustomVariant() \r\n * use it to modfiy the product in your cart, price, weight, dimension, text, name, whatever. \r\n * To modify the price of a product with a custom field. \r\n * Call from ajax, when custom field value change while selecting product for cart.\r\n * \r\n * @param  object $product        TableProducts\r\n * @param  object $customfield    virtuemart custom field\r\n * @param  array $selected        keeps the data of the right method\/plugin coming from the form\r\n * @param  float $modificatorSum  variable to be modified\r\n * \r\n * @return boolean                true\r\n *\/\r\npublic function plgVmPrepareCartProduct(&amp;$product, &amp;$customfield, $selected, &amp;$modificatorSum) {\r\n\tif ($customfield-&gt;custom_element !== $this-&gt;_name) \r\n\t\treturn ;\r\n\tif ($product-&gt;allPrices) \r\n\t\t$modificatorSum -= $product-&gt;allPrices[0]['product_price'];\r\n\t$anyUniqueName = $this-&gt;dateInterpret(JArrayHelper::getValue($selected, 'anyUniqueName'));\r\n\r\n\tif ($anyUniqueName) {\r\n\t\tif ($customfield-&gt;var_2 &gt; 0) {\r\n\t\t\t$modificatorSum += $customfield-&gt;var_2;\r\n\t\t}\r\n\t}\r\n\treturn true;\r\n}\r\n<\/pre>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\">Usage<\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<div>\n<p>A Multi-variant product is useful for many types of the stores that provide a range of products, as well as stores running booking and reservation concept, where a single product is managed based on different date\/time selections by any buyer. One of this kind of extension is available on the Webkul store here:<\/p>\n<p><a href=\"https:\/\/store.webkul.com\/Joomla-Virtuemart-Booking-and-Reservation-System.html\" target=\"_blank\" rel=\"noopener\">Joomla Virtuemart Booking and Reservation System<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p style=\"text-align: justify\">For any query regarding Joomla VirtueMart plug-ins and add-ons, you can communicate with us by creating a ticket at:<br \/>\n<a href=\"https:\/\/webkul.uvdesk.com\/en\/customer\/create-ticket\/\">https:\/\/webkul.uvdesk.com\/en\/customer\/create-ticket\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Multi-variant product is a product that is available in multiple variants(like &#8211; color, size, etc.), and price of the product varies, based on particular variant selection by any buyer, though the actual product id is same for all. Joomla VirtueMart apart from other custom fields allows application of custom field plug-ins onto its products. <a href=\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":46,"featured_media":66790,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2032,4,2033],"tags":[4595,4573,4594],"class_list":["post-73085","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-e-commerce-2","category-joomla-2","category-joomla-virtuemart","tag-custom-plug-in","tag-joomla-virtuemart-booking-and-reservation-system","tag-multi-variant-product"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Joomla Virtuemart custom plug-in to make multi-variant product - Webkul Blog<\/title>\n<meta name=\"description\" content=\"A Multi-variant product is a product that is available in multiple variants, and price of the product varies, based on particular selection by any buyer.\" \/>\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\/joomla-virtuemart-multi-variant-product\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Joomla Virtuemart custom plug-in to make multi-variant product - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"A Multi-variant product is a product that is available in multiple variants, and price of the product varies, based on particular selection by any buyer.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/\" \/>\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=\"2017-03-14T12:35:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-08T08:08:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Anant Garg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/anant_maks\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anant Garg\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/\"},\"author\":{\"name\":\"Anant Garg\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/6ea8b2fc21db1091826b5da1b3652b11\"},\"headline\":\"Joomla Virtuemart custom plug-in to make multi-variant product\",\"datePublished\":\"2017-03-14T12:35:00+00:00\",\"dateModified\":\"2019-01-08T08:08:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/\"},\"wordCount\":381,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png\",\"keywords\":[\"custom plug-in\",\"Joomla Virtuemart Booking and Reservation System\",\"multi-variant product\"],\"articleSection\":[\"E-commerce\",\"Joomla\",\"Joomla Virtuemart\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/\",\"url\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/\",\"name\":\"Joomla Virtuemart custom plug-in to make multi-variant product - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png\",\"datePublished\":\"2017-03-14T12:35:00+00:00\",\"dateModified\":\"2019-01-08T08:08:41+00:00\",\"description\":\"A Multi-variant product is a product that is available in multiple variants, and price of the product varies, based on particular selection by any buyer.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png\",\"width\":825,\"height\":260,\"caption\":\"Joomla Virtuemart\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Joomla Virtuemart custom plug-in to make multi-variant product\"}]},{\"@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\/6ea8b2fc21db1091826b5da1b3652b11\",\"name\":\"Anant Garg\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/013d335b488c1077708a8177975749ebfc91bbb3c549ec6c19a6a83b3341ff76?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\/013d335b488c1077708a8177975749ebfc91bbb3c549ec6c19a6a83b3341ff76?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Anant Garg\"},\"description\":\"A Salesforce Developer specialising in Sales Cloud, Service Cloud, and Marketing Cloud provides customised solutions to improve client interaction and streamline business processes. Expertise in Salesforce platform optimisation provides smooth integration and fosters strategic growth across a wide range of organisational processes.\",\"sameAs\":[\"http:\/\/writerunleashed4u.blogspot.in\",\"https:\/\/x.com\/https:\/\/twitter.com\/anant_maks\"],\"url\":\"https:\/\/webkul.com\/blog\/author\/anant158\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Joomla Virtuemart custom plug-in to make multi-variant product - Webkul Blog","description":"A Multi-variant product is a product that is available in multiple variants, and price of the product varies, based on particular selection by any buyer.","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\/joomla-virtuemart-multi-variant-product\/","og_locale":"en_US","og_type":"article","og_title":"Joomla Virtuemart custom plug-in to make multi-variant product - Webkul Blog","og_description":"A Multi-variant product is a product that is available in multiple variants, and price of the product varies, based on particular selection by any buyer.","og_url":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2017-03-14T12:35:00+00:00","article_modified_time":"2019-01-08T08:08:41+00:00","og_image":[{"width":825,"height":260,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","type":"image\/png"}],"author":"Anant Garg","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/anant_maks","twitter_site":"@webkul","twitter_misc":{"Written by":"Anant Garg","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/"},"author":{"name":"Anant Garg","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/6ea8b2fc21db1091826b5da1b3652b11"},"headline":"Joomla Virtuemart custom plug-in to make multi-variant product","datePublished":"2017-03-14T12:35:00+00:00","dateModified":"2019-01-08T08:08:41+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/"},"wordCount":381,"commentCount":2,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","keywords":["custom plug-in","Joomla Virtuemart Booking and Reservation System","multi-variant product"],"articleSection":["E-commerce","Joomla","Joomla Virtuemart"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/","url":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/","name":"Joomla Virtuemart custom plug-in to make multi-variant product - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","datePublished":"2017-03-14T12:35:00+00:00","dateModified":"2019-01-08T08:08:41+00:00","description":"A Multi-variant product is a product that is available in multiple variants, and price of the product varies, based on particular selection by any buyer.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","width":825,"height":260,"caption":"Joomla Virtuemart"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/joomla-virtuemart-multi-variant-product\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Joomla Virtuemart custom plug-in to make multi-variant product"}]},{"@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\/6ea8b2fc21db1091826b5da1b3652b11","name":"Anant Garg","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/013d335b488c1077708a8177975749ebfc91bbb3c549ec6c19a6a83b3341ff76?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\/013d335b488c1077708a8177975749ebfc91bbb3c549ec6c19a6a83b3341ff76?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Anant Garg"},"description":"A Salesforce Developer specialising in Sales Cloud, Service Cloud, and Marketing Cloud provides customised solutions to improve client interaction and streamline business processes. Expertise in Salesforce platform optimisation provides smooth integration and fosters strategic growth across a wide range of organisational processes.","sameAs":["http:\/\/writerunleashed4u.blogspot.in","https:\/\/x.com\/https:\/\/twitter.com\/anant_maks"],"url":"https:\/\/webkul.com\/blog\/author\/anant158\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/73085","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\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=73085"}],"version-history":[{"count":9,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/73085\/revisions"}],"predecessor-version":[{"id":80749,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/73085\/revisions\/80749"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media\/66790"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=73085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=73085"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=73085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}