Welcome to Zuora Product Documentation

Explore our rich library of product information

EditQuoteProduct component

This article describes the EditQuoteProduct Component and its attributes, class, page, and sample code.

The EditQuoteProduct component simplifies the Quote Wizard flow. It combines the enhanced Guided Selling and Product Selector components with one Visualforce page responsible for all product-related actions.

Note:

The EditQuoteProduct component is available in Zuora Quotes, Version 7.40+.

The EditQuoteProduct component consists of:

  • EditQuoteProduct.component : The Visualforce UI component

  • EditQuoteProductController.class : The Apex controller class for the EditQuoteProduct UI component

  • EditQuoteProductOptions : The Apex class that stores the configuration options specified by the developer and used by the controller to render the component

  • EditQuoteProducts.page : The Visualforce page with the EditQuoteProduct component

EditQuoteProduct Component Attributes

Attribute

Type

Required?

Description

editQuoteProductOptions

zqu.EditQuoteProductOptions

Required

The Apex class used to pass in the options for the CpqSelectProduct and ProductBundleGuidedSelling components.

EditQuoteProductOptions Class

The EditQuoteProduct component has the EditQuoteProductOptions class that provides the following property options.

Property

Type

Required?

Description

guidedSellingOptions

zqu. ProductBundleGuidedSellingOptions

Required

The configuration options for the ProductBundleGuidedSelling component in the page.

initialComponentMode

String

Required

This parameter determines how the component will initially be rendered. The available options are:

  • zqu. EditQuoteProductOptions. GUIDED_SELLING_MODE

  • zqu. EditQuoteProductOptions. PRODUCT_SELECTOR_MODE

productSelectorOptions

zqu. SelectProductComponentOptions

Required

The configuration options for the CpqSelectProduct component in the page.

EditQuoteProducts Page

You can insert the pre-configured EditQuoteProducts Visualforce page into your Quote Wizard flow. To use this page, you must include the id of the quote as one of the URL parameters, e.g. https://zqu.na10.visual.force.com/apex/EditQuoteProducts?id=a1sF000000FZQxiIAH

Sample Code for the EditQuoteProduct Component

Visualforce Page Example

Add the EditQuoteProduct component to your Visualforce page inside the <apex:form> tag and set up the component options in your controller. Use the zqu__QuoteWizardTemplateNoForm template to ensure that your Visualforce page will have the Quote Wizard context.

<apex:page id="EditQuoteProducts" sideBar="false" tabStyle="zqu__Quote__c" 
        standardController="zqu__Quote__c" 
        extensions="CustomEditQuoteProductsController">
    <apex:composition template="zqu__QuoteWizardTemplateNoForm">
        <apex:define name="PageBody">
                <apex:form>
                    <zqu:EditQuoteProduct editQuoteProductOptions=
                        "{!editProductOptions}"/>
                </apex:form>
        </apex:define>
    </apex:composition>
</apex:page>

Apex Controller Example

public with sharing class CustomEditQuoteProductsController {
    public zqu.EditQuoteProductOptions editProductOptions {
        get;
        set;
    }
    public CustomEditQuoteProductsController
            (ApexPages.StandardController controller) {
        editProductOptions = new zqu.EditQuoteProductOptions();
        editProductOptions.guidedSellingOptions 
            = new zqu.ProductBundleGuidedSellingOptions();
        editProductOptions.guidedSellingOptions.quoteType = 'Subscription';
        editProductOptions.guidedSellingOptions.quoteId = '1ws34edftg2fg0d';
        editProductOptions.productSelectorOptions 
            = new zqu.SelectProductComponentOptions();
        editProductOptions.productSelectorOptions.quoteType = 'Subscription';
        editProductOptions.productSelectorOptions.quoteId = '1ws34edftg2fg0d';
        editProductOptions.initialComponentMode 
        ​​​​​​​    = zqu.EditQuoteProductOptions.GUIDED_SELLING_MODE;
    }
}