Documentation - Stockable Custom Fields

This document offers the basic knowledge for installing , configuring and using the Stockable Customfields plugin. This document is copyrighted ©2015-2024 The document is licensed under the terms of Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License []. You can distribute it freely as long as you do not modify it and state its source and/or author. You cannot use this document or any portion of it for commercial purposes. If you require such use, for example to deliver it to your clients as part of your site building service,please email the author in order to acquire such a license and the source to this document.

  1. Joomla 3.10.x, Joomla 4.x, Joomla 5.x
  2. Virtuemart 4.x
  3. PHP 7.x
  4. MySQL 5.0.4+

After downloading the installer file, from our site, just install it using the joomla installation process.


The same process can be used for updating your version. Just use the joomla installer without uninstalling your existing version. Your data will remain intact.

The installer will install and enable all the necessary plugins. No other action required.

The plugin uses other custom fields for the variations.
So you first have to create those custom fields. These custom fields will be named sub-custom fields from now on.

Go to Virtuemart > Custom Fields and press New to create a new custom field.

As type select String or Plug-ins (if you have compatible plug-ins). 
Set Cart Attribute > No and Cart Input > No


The above describes the general settings of custom fields. In case you are using plugins for the sub-custom fields, please check your plugin's manual, for it's usage.
If you are using Custom Fields For All, you can find the relevant documentation here.

Save and create the next one.
Create as many custom fields as you need.

Go to Virtuemart >Custom Fields and press New to create a new custom field.

As type select plugin, set Cart Attribute > Yes and Cart Input > Yes

main custom


After that select the plug-in you intent to use

main custom2


Then save the custom field.
After saving it, you will be able to select the custom fields (sub-custom fields) that you will use.

Press the "Add" button and select the custom fields you created previously.

select subcustomfields

After finising the selection, close the modal window and press the save button

Also set how a combination which is out of stock will be displayed.
out of stock display

Now you are ready to create stockable variations

After the creation of the custom field lets go to assign it to a product.

Select a product and go to the Custom Fields Tab.
Then from the Custom Field Type list select the stockable custom field you have created previously.

assign to product2As you can see the sub-custom fields are there. Just fill them to create a new variation.
Also from here you can connect your variation either with a new product or with an existing one. The later can be really usefull in case you are importing your products from another database.

To create your next variation, press the "New Variation" button at the bottom.

The parent product can be used as stockable variant as well. To do that go to the custom field and set Parent Product Orderable > Yes
Then when you assign the custom field to the product, you will see a checkbox labeled Use current/parent prodcuct as derived. By checking that makes the parent product a stockable variation. The advantage of doing that is that the user has a variation selected once he/she visits the product details page.


Now you can visit that product to to your site, to see the results

fe display drop downs

You can see different options/custom fields. The user will be able to select only the options which are compatible between them (i.e. return a child product). After selecting all the fields, you will see that the product info updates. This way you can see the price or image of the corresponding child product after finishing a selection.

What problem does it solves

A common requirement in ecommerce is to offer the users an easy way to select variations of a product. When there is no need for stock management this can be done with simple custom fields. But when we need our variations to have stock, each variation should be defined as a seperate product.

The above process can be done easily with that plugin. You just have to create a parent product which will be used as a pattern. Then by assigning the stockable plugin to that product, you can create as many variations as you wish (like using normal custom fields). The plugin will create automatically a child product for each variation with the price, stock and image that you define.

What are the advantages of using that plugin

1. The process is really simple. By just filling a couple of fields you have your variations ready from 1 point, without the need to load other pages. Each new variation can have it's own image, name, sku and price

2. Unlimited number of custom fields can be used to create combinations.

3. The generated child products will have custom fields assigned. That means that they can be searched and filtered using these fields.

4. Can be combined with custom plugins, to generate a more attractive result.

5. A variation can be connected with a new product or with an existing one.


The plug-in is not updating the product details, in the front-end. Why?

Possible causes are:

  1. There is no menu item created for your Virtuemart shop.
  2. The use of ajax for the products is disabled. Go to Virtuemart > Configuration > Templates and activate the setting "Use ajax for product content"
  3. The template is not Virtuemart 3 ready, or it is missing some of the scripts introduced in Virtuemart 3 or it overrides Virtuemart javascript functions without respecting their parameters.


In the product details page, i see the custom fields 2 times. How can i solve that?

In this case you can go to your sub-custom fields and set them to be displayed in a layout position that does not exist (e.g. none). The setting "Layout Position" will be found at each of the custom fields.


In the category page, the products are not updated, after selecting a variant. Why?

The most often causes for that problem are:

  1. Under the Virtuemart's Configuration > Templates, the setting "Use ajax for category content" is enabled. By doing that, the container property used to update the products, changes and the products cannot be updated.
  2. Javascript errors exist in your pages.
  3. Your template does not declare some necessary javascript variables in the category layout, such as the Virtuemart.container.