本文整理匯總了PHP中Magento\Mtf\Fixture\InjectableFixture::getGroupPrice方法的典型用法代碼示例。如果您正苦於以下問題:PHP InjectableFixture::getGroupPrice方法的具體用法?PHP InjectableFixture::getGroupPrice怎麽用?PHP InjectableFixture::getGroupPrice使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Mtf\Fixture\InjectableFixture
的用法示例。
在下文中一共展示了InjectableFixture::getGroupPrice方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: prepareFixturePrice
/**
* Prepare product price from fixture.
*
* @param InjectableFixture $product
* @return float
*/
protected function prepareFixturePrice(InjectableFixture $product)
{
/** @var CatalogProductSimple $product */
$customOptions = $product->getCustomOptions();
$checkoutData = $product->getCheckoutData();
$checkoutCustomOptions = isset($checkoutData['options']['custom_options']) ? $checkoutData['options']['custom_options'] : [];
if (isset($checkoutData['cartItem'])) {
$fixturePrice = $checkoutData['cartItem']['price'];
} else {
$fixturePrice = $product->getPrice();
$groupPrice = $product->getGroupPrice();
$specialPrice = $product->getSpecialPrice();
if ($groupPrice) {
$groupPrice = reset($groupPrice);
$fixturePrice = $groupPrice['price'];
}
if ($specialPrice) {
$fixturePrice = $specialPrice;
}
foreach ($checkoutCustomOptions as $checkoutOption) {
$attributeKey = str_replace('attribute_key_', '', $checkoutOption['title']);
$optionKey = str_replace('option_key_', '', $checkoutOption['value']);
$option = $customOptions[$attributeKey]['options'][$optionKey];
if ('Fixed' == $option['price_type']) {
$fixturePrice += $option['price'];
} else {
$fixturePrice += $fixturePrice / 100 * $option['price'];
}
}
}
return $fixturePrice;
}