本文整理匯總了PHP中Magento\Mtf\Fixture\InjectableFixture::getConfigurableAttributesData方法的典型用法代碼示例。如果您正苦於以下問題:PHP InjectableFixture::getConfigurableAttributesData方法的具體用法?PHP InjectableFixture::getConfigurableAttributesData怎麽用?PHP InjectableFixture::getConfigurableAttributesData使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Mtf\Fixture\InjectableFixture
的用法示例。
在下文中一共展示了InjectableFixture::getConfigurableAttributesData方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getPrice
/**
* Returns the item price for the specified product.
*
* @param InjectableFixture $product
* @return array|string
*/
public function getPrice(InjectableFixture $product)
{
$productName = $product->getName();
if ($product instanceof ConfigurableProduct) {
// Find the price for the specific configurable product that was purchased
$attributesData = $product->getConfigurableAttributesData()['attributes_data'];
$matrix = $product->getConfigurableAttributesData()['matrix'];
$checkoutOptions = $product->getCheckoutData()['options']['configurable_options'];
$optionsDetails = [];
$matrixKey = [];
$optionsPrice = 0;
foreach ($checkoutOptions as $checkoutOption) {
$titleKey = $checkoutOption['title'];
$valueKey = $checkoutOption['value'];
$attributeName = $attributesData[$titleKey]['frontend_label'];
$optionLabel = $attributesData[$titleKey]['options'][$valueKey]['label'];
$optionsDetails[] = "{$attributeName}{$optionLabel}";
$matrixKey[] = "{$titleKey}:{$valueKey}";
$optionsPrice += $attributesData[$titleKey]['options'][$valueKey]['pricing_value'];
}
$optionsDetails = implode(' ', $optionsDetails);
$matrixKey = implode(' ', $matrixKey);
$productDisplay = $productName . 'SKU: ' . $matrix[$matrixKey]['sku'] . $optionsDetails;
} else {
$productDisplay = $productName . 'SKU: ' . $product->getSku();
}
$selector = '//tr[normalize-space(td)="' . $productDisplay . '"]' . $this->priceSelector;
return $this->escapeCurrency($this->_rootElement->find($selector, Locator::SELECTOR_XPATH)->getText());
}