Package DE_EPAGES::Product::API::Object::Product
object interface for Product.
Base |
DE_EPAGES::Content::API::Object::ContentObject |
Functions
- adaptLayout
- addBundleProductContainer
- addBundleToStock
- addCustomizationFileOption
- addCustomizationTextOption
- addLineItemDeposit
- addLineItemEcoParticipation
- addToBundle
- addToContainer
- addToStock
- appointmentPrepayment
- appointmentPrice
- availableQuantity
- businessHours
- canAddToBasket
- canInvalidatePageCache
- className
- classTemplate
- collectAllNonImageFiles
- collectNonImageFiles
- correctQuantity
- countSubProducts
- createURI
- dbPackage
- defaultObject
- discount
- displayPrice
- existSubProductPrices
- exportableChildren
- extendImageInformationsSlideShowString
- filePath
- findSubProducts
- fromPrice
- getDeposit
- getDirectDeposit
- getDirectEcoParticipation
- getDirectListPrice
- getDirectManufacturerPrice
- getEcoParticipation
- getListPrice
- getManufacturerPrice
- getPrepayment
- getQuantityInOtherLineItems
- getReferencePrice
- getShopUrl
- getWebUrl
- getWithParent
- hasPrice
- hasVariationAttributeValue
- highestSubProductPrice
- isAllowedChild
- isDeliveryTimeLonger
- isMaster
- isSubProduct
- isVariationAttribute
- lineItem
- localizedVariationString
- lowestSubProductPrice
- price
- recalculateLineItem
- renumberBundleProductMaps
- renumberDownloadProductMaps
- setDeposit
- setEcoParticipation
- setListPrice
- setManufacturerPrice
- setPrepayment
- setRelativeStockLevel
- stockAlert
- subProductWithHighestPrice
- subProductWithHighestPriceThatHasOwnPrice
- subProductWithLowestPrice
- subProductWithLowestPriceThatHasOwnPrice
- subProducts
- substractBundleFromStock
- substractFromStock
- superProduct
- taxMatrix
- templatePath
- timeFactor
- toPrice
- updateBundleDeposit
- updateBundleEcoParticipation
- variationAttributes
adaptLayout
Changes selected templates to 0 if product has no bundles or variation.
Syntax |
$Product->adaptLayout($hInfo); |
Input |
|
addBundleProductContainer
add a sub container for bundle products to a given line item
Syntax |
$Product->addBundleProductContainer($LineItem); |
Input |
|
Return |
|
addBundleToStock
Adds the given Quantity to the Stocklevel of each bundled product. See also addToStock($Quantity). If the product is no bundle then this function is called for this product.
Syntax |
$Product->addBundleToStock($Quantity); |
Input |
|
addCustomizationFileOption
Adds a file option for a customizable product.
Syntax |
$Product->addCustomizationFileOption($hParams); |
Input |
|
Return |
|
addCustomizationTextOption
Adds a text option for a customizable product.
Syntax |
$Product->addCustomizationTextOption($hParams); |
Input |
|
Return |
|
addLineItemDeposit
Adds a deposit lineitem for the given product lineitem.
Syntax |
$LineItemDeposit = $Container->addLineItemDeposit($Container, $hInfo, $Alias, $Position); |
Input |
|
Return |
|
addLineItemEcoParticipation
Adds a eco Particpation lineitem for the given tax class, if not exists yet.
Syntax |
$LineItemEcoParticipation = $Container->addLineItemEcoParticipation($Container, $TaxClass); $LineItemEcoParticipation = $Container->addLineItemEcoParticipation($Container, $TaxClass, $TaxRate); $LineItemEcoParticipation = $Container->addLineItemEcoParticipation($Container, $TaxClass, $TaxRate, $LineItemPrice); |
Input |
|
Return |
|
addToBundle
Adds this product to a product bundle.
Syntax |
$Product->addToBundle( $BundleProduct, $hInfo ); |
Example |
$Product->addToBundle( $BundleProduct, { BundledQuantity => 2 } ); |
Input |
|
addToContainer
Adds the product to the line item container (of a basket or order). If a line item of the same product already exists in the basket, then the function acts according to the shop preference Shop.AddToBasketStyle:
- a new line item is created or
- the quantity is added to the existing line item or
- the new line item replaces the existing line item or
- the previous quantity remains and the product is not added
Syntax |
$LineItem = $Product->addToContainer( $Container, $hInfo ); |
Example |
Transaction( sub { my $Basket = GetBasket( $User, $Shop ); my $LineItem = $Product->addToContainer( $Basket->container, { Quantity => 3 } ); $Basket->recalculate; } ); |
Input |
|
Return |
|
addToStock
Increments the StockLevel by the given Quantity.
Syntax |
$Product->addToStock($Quantity); |
Input |
|
appointmentPrepayment
Returns product price includes discount and duration data.
Syntax |
$Price = $Product->appointmentPrepayment($Appointment, $hInfo); |
Input |
|
Return |
|
appointmentPrice
Returns product price includes discount and duration data.
Syntax |
$Price = $Product->appointmentPrice($Appointment, $hInfo); |
Input |
|
Return |
|
availableQuantity
Ckecks if the given quantity value is valid according to the products MinOrder and IntervalOrder settings. Then checks if the desired amount is actually on stock. If one order multiple line items of the same product, pass the quantity of the other line items as second parameter ($ExistingQuantity). Returns the closest quantity that can actually be ordered. Returns 0 if the product cannot be ordered.
Syntax |
$AvailableQuantity = $Product->availableQuantity( $DesiredQuantity, $ExistingQuantity ); |
Input |
|
Return |
|
businessHours
Returns product calendar (child BusinessHours), if not exists then the calendar will be created.
Syntax |
$Calendar = $Product->businessHours; |
Return |
|
canAddToBasket
Tests if a product can be added to the basket with the given quantity.
Syntax |
$CanAddToBasket = $Product->canAddToBasket($Quantity); |
Input |
|
Return |
|
canInvalidatePageCache
Overwrites method DE_EPAGES::Object::API::Object::Object->canInvalidatePageCache to invalidate page cache.
Syntax |
$CanInvalidate = $Object->canInvalidatePageCache; |
Return |
|
className
Returns the class name, used for DAL access.
Syntax |
$ClassName = $Product->className; |
Return |
|
classTemplate
This function is used to overwrite the given template for the purpose that each content object can defined there own template (visualisation). Function overwrites DE_EPAGES::Object::API::Object::Object->classTemplate for EPG-16237. By merchand created subclasses of product should not used for TemplateName.
Syntax |
$Name = $Object->classTemplate($Name, $ObjectPageType); |
Input |
|
Return |
|
collectAllNonImageFiles
Collect the non image files (EnergyLabel and ProductDataSheets) for all related products (Sub and Master).
Syntax |
$aAllNonImageFiles = $Product->collectAllNonImageFiles(); |
Return |
|
collectNonImageFiles
Collect the non image files (EnergyLabel and ProductDataSheets) of a single product.
Syntax |
$aNonImageFiles = $Product->collectNonImageFiles(); |
Return |
|
correctQuantity
Checks if a given quantity of the product can be ordered according to the products minimum order amount (MinOrder) and interval amount (IntervalOrder). Returns the next valid quantity value if the desired amount cannot be ordered. This function does not check the current stock level.
Syntax |
$ValidQuantity = $Product->correctQuantity( $DesiredQuantity ); |
Example |
print $Object->correctQuantity( 17.5 ); |
Input |
|
Return |
|
countSubProducts
Returns the number of all sub products of a super product.
Syntax |
$Count = $SuperProduct->countSubProducts; |
Return |
|
createURI
Returns a suggestion for a short url.
Syntax |
$URI = $Object->createURI($Name, $Parent, $LanguageID); |
Input |
|
Return |
|
dbPackage
Returns the database package, used for DAL access.
Syntax |
$DbPackage = $Product->dbPackage; |
Return |
|
defaultObject
Returns the default object (has to be overwritten for products with variation).
Syntax |
$ContentObject = $Object->defaultObject(); |
Return |
|
discount
Returns the product discount by the given requirements. The hook 'ProductDiscount' is triggered before the standard discount = 0.
Syntax |
$Discount = $Product->discount( $hVars ); |
Example |
$Discount = $Product->discount( { CurrencyID => 'USD', TaxModel => $Product->getSite()->get('TaxModel') } ); |
Input |
|
Return |
|
displayPrice
Returns the product display price by the given requirements. Uses the list price unless $Shop->get('ShowCustomerSpecificPrices').
Syntax |
$DisplayPrice = $Product->displayPrice($hVars); |
Example |
$DisplayPrice = $Product->displayPrice({ CurrencyID => 'USD', TaxModel => $Product->getSite()->get('TaxModel') }); |
Input |
|
Return |
|
existSubProductPrices
Returns true if a cheapest sub product exists that is currently available. Returns false if $Product is not a super product.
Syntax |
$Product->existSubProductPrices(); |
Example |
return if $Product->existSubProductPrices(); |
Return |
|
exportableChildren
Returns all children of the object which should be exported.
Syntax |
$aChildren = $Object->exportableChildren |
Example |
$Description = $Object->exportableChildren; |
Return |
|
extendImageInformationsSlideShowString
add/update SlideShowString image informations on attribute ImageInformations.
Syntax |
$Object->extendImageInformationsSlideShowString($hValues); |
Input |
|
filePath
Returns the relative file path of object from the System file path. If the product is an variation the filePath of the SuperProduct will returned.
Syntax |
$Object->filePath; |
Return |
|
findSubProducts
Returns the product ids of all sub products of a super product.
Syntax |
$aSubProdustIDs = $SuperProduct->findSubProducts; |
Return |
|
fromPrice
Price of the cheapest sub product that is currently available in the desired quantity (using canAddToBasket). Returns undef if no sub product is available. Must be called on a super product, otherwise returns always undef.
Syntax |
$FromPrice = $SuperProduct->fromPrice($hParams); |
Input |
|
Return |
|
getDeposit
Returns the eco participation of this product. Returns the eco participation of the super product if $Product is a sub product that does not have its own price, i.e. the attribute HasSubOwnPrices is false. Returns undef if the product does not have a eco participation.
Syntax |
$Value = $Product->getDeposit($CurrencyID, $TaxModel); |
Example |
$Value = $Product->getDeposit('EUR', 1); |
Input |
|
Return |
|
getDirectDeposit
Returns the eco participation that is defined on directly on this product object. Returns undef if $Product is a sub product that does not have its own price and inherits its price from the super product.
Syntax |
$Value = $Product->getDirectDeposit($CurrencyID, $TaxModel); |
Example |
$Value = $Product->getDirectDeposit('EUR', 1); |
Input |
|
Return |
|
getDirectEcoParticipation
Returns the eco participation that is defined on directly on this product object. Returns undef if $Product is a sub product that does not have its own price and inherits its price from the super product.
Syntax |
$Value = $Product->getDirectEcoParticipation($CurrencyID, $TaxModel); |
Example |
$Value = $Product->getDirectEcoParticipation('EUR', 1); |
Input |
|
Return |
|
getDirectListPrice
Returns the list price that is defined on directly on this product object. Returns undef if $Product is a sub product that does not have its own price and inherits its price from the super product. If available, the user's address is used to determine a specific price for digital goods and ebooks.
Syntax |
$Value = $Product->getDirectListPrice($CurrencyID, $TaxModel); |
Example |
$Value = $Product->getDirectListPrice('EUR', 1); $Value = $Product->getDirectListPrice('EUR', 1, undef, $User); |
Input |
|
Return |
|
getDirectManufacturerPrice
Returns the manufacturer's suggested retail price (MSRP) that is defined directly on this product object. Returns undef if $Product is a sub product that does not have its own MSRP and inherits its MSRP from the super product.
Syntax |
$Value = $Product->getDirectManufacturerPrice($CurrencyID, $TaxModel); |
Example |
$Value = $Product->getDirectManufacturerPrice('EUR', 1); |
Input |
|
Return |
|
getEcoParticipation
Returns the eco participation of this product. Returns the eco participation of the super product if $Product is a sub product. Returns undef if the product does not have a eco participation.
Syntax |
$Value = $Product->getEcoParticipation($CurrencyID, $TaxModel); |
Example |
$Value = $Product->getEcoParticipation('EUR', 1); |
Input |
|
Return |
|
getListPrice
Returns the list price of this product. Returns the list price of the super product if $Product is a sub product that does not have its own price, i.e. the attribute HasSubOwnPrices is false. If available, the user's address is used to determine a specific price for digital goods and ebooks. Returns undef if the product does not have a list price.
Syntax |
$Value = $Product->getListPrice($CurrencyID, $TaxModel); $Value = $Product->getListPrice($CurrencyID, $TaxModel, $ExtraPrecision); |
Example |
$Value = $Product->getListPrice('EUR', TAX_MODEL_NET); |
Input |
|
Return |
|
getManufacturerPrice
Returns the manufacturer's suggested retails price (MSRP) of this product. Returns the MSRP of the super product if $Product is a sub product that does not have its own price, i.e. the attribute HasSubOwnPrices is false. Returns undef if the product does not have an MSRP.
Syntax |
$Value = $Product->getManufacturerPrice($CurrencyID, $TaxModel); |
Example |
$Value = $Product->getManufacturerPrice('EUR', 1); |
Input |
|
Return |
|
getPrepayment
Returns the prepayment of this product. Returns undef if the product does not have a prepayment.
Syntax |
$Value = $Product->getPrepayment($CurrencyID, $TaxModel); |
Example |
$Value = $Product->getPrepayment('EUR', 1); |
Input |
|
Return |
|
getQuantityInOtherLineItems
returns the quantity of the product in the basket, excluding $CurrentLineItem
Syntax |
$Product->getQuantityInOtherLineItems($Container, $CurrentLineItem); |
Input |
|
Return |
|
getReferencePrice
Calculates the price of a product relative to the reference amout.
The following formula is used:
#Price * (#Product.RefAmount / #Product.RefContentAmount)
Returns undef if the product does not have a list price.
Syntax |
$Value = $Product->getReferencePrice($CurrencyID, $Price, $Discount); |
Example |
$Value = $Product->getReferencePrice('EUR', 12); |
Input |
|
Return |
|
getShopUrl
Construct the shop url of a given object dependend of the following parameters:
Syntax |
$ShopUrl = $Object->getShopUrl($hParams, $hOptions, $Servlet); |
Input |
|
Return |
|
getWebUrl
Construct the web url of a given object dependend of the following parameters:
Syntax |
$WebUrl = $Object->getWebUrl($hParams); |
Input |
|
Return |
|
getWithParent
Returns the values of product attributes. Similar to $Object->get(). If called on a sub product and the attribute value is not defined for the sub product, then returns the attribute value of its super product.
Syntax |
$hValues = $Product->getWithParent($aNames, $LanguageID); $hValues = $Product->getWithParent($aNames); $Values = $Product->getWithParent($Name, $LanguageID); $Value = $Product->getWithParent($Name); |
Example |
my $LanguageID = GetPKeyLanguageByCode('en'); my $Description = $Product->getWithParent('Description', $LanguageID); |
Input |
|
Return |
|
hasPrice
Returns true if the product has a price. The result may depend on the customer or indirectly on the user. If no user or customer is given, returns whether there is a price for anonymous customers. For master products, returns true if any of the sub products has a price and exists a "from" price (see fromPrice).
Syntax |
$HasPrice = $Product->hasPrice ( $CurrencyID ); $HasPrice = $Product->hasPrice( $CurrencyID, $hVars ); |
Example |
if( $Product->hasPrice ) { ... } if( $Product->hasPrice( 'EUR', { Customer => $Customer } ) ) { ... } if( $Product->hasPrice( 'EUR', { User => $User } ) ) { ... } |
Input |
|
Return |
|
hasVariationAttributeValue
Returns true if the given attribute value is selected as for variations Must be called on a super product, otherwise return always false.
Syntax |
$HasValue = $SuperProduct->hasVariationAttributeValue( $PreDefValue ); |
Input |
|
Return |
|
highestSubProductPrice
Returns the highest sub product price that is currently available in the minimum orderable quantity (using canAddToBasket). Returns undef if no sub product is available. Must be called on a super product, otherwise returns always undef.
Syntax |
$HighestPrice = $SuperProduct->highestSubProductPrice($hParams); |
Input |
|
Return |
|
isAllowedChild
Returns true if an Object could be the parent of a PossibleChild.
Syntax |
$isAllowed = $Object->isAllowedChild($PossibleChild); |
Input |
|
Return |
|
isDeliveryTimeLonger
Tests if a product has a longer delivery time, because it is not currently on stock. The current basket is not involved.
Syntax |
$IsLonger = $Product->isDeliveryTimeLonger(); |
Return |
|
isMaster
Returns true if the product is a master product, i.e. has some selected variation attribute values.
Syntax |
$IsMaster = $Product->isMaster; |
Return |
|
isSubProduct
Returns true if the product is a sub product, i.e. has a master product.
Syntax |
$IsSubProduct = $Product->isSubProduct; |
Return |
|
isVariationAttribute
Returns true if the given attribute is a variation attribute of this super product. Must be called on a super product, otherwise return always false.
Syntax |
$IsVariationAttribute = $SuperProduct->isVariationAttribute( $AttributeAlias ); |
Input |
|
Return |
|
lineItem
Returns the required attributes to create a product line item object, which can be added to the line item container of a basket or order. Use addToContainer instead of calling this function directly.
Syntax |
$hLineItem = $Product->lineItem( $Container, $hInfo ); |
Input |
|
Return |
|
Hook |
|
localizedVariationString
Returns a single string with all variation attributes sorted by attribute name. Example "Color: Croft, Material: Goretex, Size: S" If method is called on non SubProduct undef is returned.
Syntax |
$LocalizedString = $Product->localizedVariationString($LanguageID) |
Input |
|
Return |
|
lowestSubProductPrice
Returns the cheapest sub product price that is currently available in the minimum orderable quantity (using canAddToBasket). Returns undef if no sub product is available. Must be called on a super product, otherwise returns always undef.
Syntax |
$LowestPrice = $SuperProduct->lowestSubProductPrice($hParams); |
Input |
|
Return |
|
price
Returns the product price by the given requirements. The hook 'ProductPrice' is triggered before the standard price list is used.
Syntax |
$Price = $Product->price( $hVars ); |
Example |
$Price = $Product->price( { CurrencyID => 'USD', TaxModel => $Product->getSite()->get('TaxModel') } ); |
Input |
|
Return |
|
recalculateLineItem
Recalculate a product line item when something has changed on basket, for example if a different tax area was chosen.
Syntax |
$Product->recalculateLineItem( $LineItem, $hValues); |
Input |
|
renumberBundleProductMaps
Renumbers the bundled products assigned to a product.
Syntax |
$Product->renumberBundleProductMaps; |
renumberDownloadProductMaps
Renumbers the downloadfiles assigned to a product.
Syntax |
$Product->renumberDownloadProductMaps; |
setDeposit
Sets the deposit of this product. If $Product is a sub product, then the price overrides the price of the super product. In this case, you should also set the attribute HasSubOwnPrices of the sub product to true.
Syntax |
$Product->setDeposit($CurrencyID, $TaxModel, $Value); |
Example |
$Product->setDeposit('EUR', 1, 19.99); $Product->set({ HasSubOwnPrices => 1 }) if defined $Product->superProduct; $Product->setDeposit('EUR', 1, undef); |
Input |
|
setEcoParticipation
Sets the eco participation of this product. If $Product is a sub product, then the price overrides the price of the super product. In this case, you should also set the attribute HasSubOwnPrices of the sub product to true.
Syntax |
$Product->setEcoParticipation($CurrencyID, $TaxModel, $Value); |
Example |
$Product->setEcoParticipation('EUR', 1, 19.99); $Product->set({ HasSubOwnPrices => 1 }) if defined $Product->superProduct; $Product->setEcoParticipation('EUR', 1, undef); |
Input |
|
setListPrice
Sets the list price of this product. If $Product is a sub product, then the price overrides the price of the super product. In this case, you should also set the attribute HasSubOwnPrices of the sub product to true.
Syntax |
$Product->setListPrice($CurrencyID, $TaxModel, $Value); |
Example |
$Product->setListPrice('EUR', 1, 19.99); $Product->set({ HasSubOwnPrices => 1 }) if defined $Product->superProduct; $Product->setListPrice('EUR', 1, undef); |
Input |
|
setManufacturerPrice
Sets the manufacturer's suggested retail price (MSRP) of this product. If $Product is a sub product, then the MSRP overrides the MSRP of the super product.
Syntax |
$Product->setManufacturerPrice($CurrencyID, $TaxModel, $Value); |
Example |
$Product->setManufacturerPrice('EUR', 1, 19.99); $Product->setManufacturerPrice('EUR', 1, undef); |
Input |
|
setPrepayment
Sets the prepayment of this product.
Syntax |
$Product->setPrepayment($CurrencyID, $TaxModel, $Value); |
Example |
$Product->setPrepayment('EUR', 1, 19.99); $Product->setPrepayment('EUR', 1, undef); |
Input |
|
setRelativeStockLevel
Change the StockLevel of the given product by the relative value and update the cache.
Syntax |
$Object->setRelativeStockLevel($Object, $RelativeStockLevel); |
Input |
|
stockAlert
Gets the availability status of the product. Used by the attribute 'StockLevelAlert'. Possible return values are:
- NO_STOCK - sock handling is disabled (stock level is undefined)
- ON_STOCK - product is on stock, StockLevel > StockLevelAlert or StockLevelAlert is not defined
- WARN_STOCK - product is on stock, StockLevel
- OUT_STOCK - product is not on stock (StockLevel
Syntax |
$StockAlert = $Product->stockAlert($Quantity); $StockAlert = $Product->stockAlert; |
Input |
|
Return |
|
subProductWithHighestPrice
Returns the most expensive sub product that is currently available in the desired quantity (using canAddToBasket). Returns undef if no sub product is available. Must be called on a super product, otherwise returns always undef.
Syntax |
$SubProduct = $SuperProduct->subProductWithHighestPrice($hParams); |
Input |
|
Return |
|
subProductWithHighestPriceThatHasOwnPrice
Returns the most expensive sub product that is currently available in the desired quantity (using canAddToBasket) and that has it's own price. Returns undef if no sub product is available. Must be called on a super product, otherwise returns always undef.
Syntax |
$SubProduct = $SuperProduct->subProductWithHighestPriceThatHasOwnPrice($CurrencyID); |
Input |
|
Return |
|
subProductWithLowestPrice
Returns the cheapest sub product that is currently available in the desired quantity (using canAddToBasket). Returns undef if no sub product is available. Must be called on a super product, otherwise returns always undef.
Syntax |
$SubProduct = $SuperProduct->subProductWithLowestPrice($hParams); |
Input |
|
Return |
|
subProductWithLowestPriceThatHasOwnPrice
Returns the cheapest sub product that is currently available in the desired quantity (using canAddToBasket) and that has it's own price. Returns undef if no sub product is available. Must be called on a super product, otherwise returns always undef.
Syntax |
$SubProduct = $SuperProduct->subProductWithLowestPriceThatHasOwnPrice($CurrencyID); |
Input |
|
Return |
|
subProducts
Returns the list of all sub products of a super product.
Syntax |
$aSubProduct = $SuperProduct->subProducts; |
Return |
|
substractBundleFromStock
Decrements the stock level of each bundled Product by given quantity. See also substractFromStock($Quantity). If the product is no bundle then this function is called for this product.
Syntax |
$Product->substractBundleFromStock($Quantity); |
Input |
|
substractFromStock
Decrements the stock level by the given quantity and sets the visibility of a product if choosen and sends a stock warning.
Syntax |
$Product->substractFromStock($Quantity); |
Input |
|
superProduct
Returns the super product of a variation product. Returns undef if the product is a normal or master product.
Syntax |
$SuperProduct = $BaseObject->superProduct; |
Return |
|
taxMatrix
Returns the tax matrix (digital) of shop of product.
Syntax |
$TaxMatrix = $Product->taxMatrix; |
Example |
$TaxMatrix = $Product->taxMatrix($User); |
Input |
|
Return |
|
templatePath
Extends the Object.templatePath with the super product.
Syntax |
$aObjects = $Product->templatePath; |
Return |
|
timeFactor
Returns factor to calculate price as quotient for appointment duration devided by default appointment duration. e.g. If default duration is 1 hour and appointment duration is 30 minutes than timefactor = 0.5
Syntax |
my $TimeFactor = $Product->timeFactor($StartDate, $EndDate); |
Input |
|
Return |
|
toPrice
Price of the most expensive sub product that is currently available in the desired quantity (using canAddToBasket). Returns undef if no sub product is available. Must be called on a super product, otherwise returns always undef.
Syntax |
$FromPrice = $SuperProduct->toPrice($hParams); |
Input |
|
Return |
|
updateBundleDeposit
Set deposit from the bundled products to a product.
Syntax |
$Product->updateBundleDeposit; |
updateBundleEcoParticipation
Set ecoparticipation from the bundled products to a product.
Syntax |
$Product->updateBundleEcoParticipation; |
variationAttributes
Returns a list of variation attributes, like size and color. Must be called on a super product, otherwise the return list will be empty.
Syntax |
$aAttributes = $SuperProduct->variationAttributes; |
Return |
|