Reading list Switch to dark mode

    Understanding Child product and its function in Virtuemart

    Updated 8 January 2019

    We know in Virtuemart we can make child product leaving some of its parameters that will be taken from parent product. We can understand this with an example like:

    First we create one Parent product with name Parent and its two child products Child1 and Child2

    Now we set some basic attributes of them:

    Parent => Price = $100, Manufacturer = ‘xyz’.
    Child1 => Price = not set, Manufacturer = not set
    Child2 => Price = $250, Manufacturer = ‘abc’

    The buyer will finally get to see

    Start your headless eCommerce
    now.
    Find out More

    Child1 => Price = $100, Manufacturer = ‘xyz’, taken from its parent.
    Child2 => Price = $250, Manufacturer = ‘abc’.

    Use of functions and return data:

    To use the listed function we must have included vmconfig.php and initialized its loadConfig() method, as

    require(JPATH_ADMINISTRATOR.'/components/com_virtuemart/helpers/config.php');
    VmConfig::loadConfig();
    

    then call respective methods after taking instance of product model as

    $productModel = VmModel::getModel('Product');

    now you can simple call any of the method as

    $product = $productModel->getProduct ('$virtuemart_product_id');
    $productSingle = $productModel->getProductSingle ('$virtuemart_product_id');
    

    getproduct() will return data with attributes of parent product, while
    getproductSingle() will not only return data for a single product but it contains the attribute of the same product regardless of it being a child or a parent.

    So, from the above cases

    for Child1: getProductSingle(), returns Manufacturer = ”, on the same hand getProduct(), returns Manufacturer = ‘xyz’.

    for Child2: both getProductSingle() and getProduct() returns Manufacturer = ‘abc’ as it is directly set onto that product.

    There are other differences in return parameters of both of these functions, as you get basePrice and salesPrice using getProduct() but have to evaluate final price if you use getProductSingle()

    For any query regarding virtuemart plugins and add-ons you can communicate with us by creating a ticket at:
    https://webkul.uvdesk.com/en/customer/create-ticket/

    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    Be the first to comment.

    Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home