本文整理汇总了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());
}