You are here:
comp-assets-product-item-child (template)
The comp-assets-product-item-child template displays the details of the child element in an asset bundle in the cards-based Assets and Review Cart Visualforce pages.
In Salesforce Industries Communications, Media, and Energy Summer '18, comp-assets-product-item child has been changed to provide multi-language support to translate Product Name and Promotion Name.In addition, only part of the template appears if a line item is inside a product group.
Template Type
Cards
Code
HTML, CSS/SCSS
Image
Upgrade from Vlocity CME Winter '18 to Vlocity CME Summer '18
When upgrading from Salesforce Industries Communications, Media, and Energy Winter '18 to Salesforce Industries Communications, Media, and Energy Summer '18, you must make the following changes to the HTML in the Card Designer.
First Change
In CME Winter '18, keep the following:
<div class="slds-is-relative">
In CME Summer '18, replace the HTML above with the following HTML:
<div class="slds-is-relative" ng-if="importedScope.isLineItemInProductGroups(childProd)">
Second Change
In CME Winter '18, keep the following:
<slds-button-svg-icon sprite="'utility'" size="'small'" icon="'switch'" extra-classes="'slds-button__icon_left'" ng-class="{'assets-fix-slds-close-switch' : !childProdState.show}"></slds-button-svg-icon>
In CME Summer '18, replace the above HTML with the following HTML:
<slds-button-svg-icon sprite="'utility'" size="'small'" icon="'switch'" extra-classes="'slds-button__icon_left slds-float_left'" ng-class="{'assets-fix-slds-close-switch' : !childProdState.show}"></slds-button-svg-icon>
Third Change
In CME Winter '18, keep the following:
<span class="assets-product-name">
In CME Summer '18, replace the above HTML with the following HTML:
<span class="assets-product-name" cpq-translate="Product2.Name">
Fourth Change
In CME Summer '18, add the following HTML:
<div class="assets-item-no-children" cpq-translate="Product2.Name" ng-show="!importedScope.checkIfChildProdHasChildren(childProd)">
{{(childProd.PricebookEntry.Product2.Name || childProd.Product2.Name || childProd[customField.fieldName])}}
</div>
Fifth Change
In CME Winter '18, keep the following:
<!-- Text -->
<div ng-if="customField.type === 'string'">{{childProd[customField.fieldName]['value']}}</div>
<!-- Loyalty-->
In CME Summer '18, replace the above HTML with the following HTML:
<div ng-if="(childProd.itemType !== 'productGroup')">
<!-- Text -->
<div ng-if="customField.type === 'string'">{{childProd[customField.fieldName]['value']}}</div>
<!-- Loyalty-->
Sixth Change
In Winter '18, keep the following:
<div ng-repeat="promoItem in childProd[customField.fieldName].records" ng-attr-title="{{promoItem.Name}}" class="assets-promo-text-wrap">
{{promoItem.Name}}{{$last ? '' : ', '}}
In CME Summer '18, replace the above HTML with the following HTML:
<div ng-repeat="promoItem in childProd[customField.fieldName].records" ng-attr-title="{{promoItem.Name}}" class="assets-promo-text-wrap">
<span cpq-translate="Promotion.Name">{{promoItem.Name}}</span>
{{$last ? '' : ', '}}
</div> "

