當前位置: 首頁>>代碼示例>>PHP>>正文


PHP FixtureInterface::getGroupPrice方法代碼示例

本文整理匯總了PHP中Mtf\Fixture\FixtureInterface::getGroupPrice方法的典型用法代碼示例。如果您正苦於以下問題:PHP FixtureInterface::getGroupPrice方法的具體用法?PHP FixtureInterface::getGroupPrice怎麽用?PHP FixtureInterface::getGroupPrice使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Mtf\Fixture\FixtureInterface的用法示例。


在下文中一共展示了FixtureInterface::getGroupPrice方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: assertOnShoppingCart

 /**
  * Assert prices on the shopping cart
  *
  * @param FixtureInterface $product
  * @param CheckoutCart $checkoutCart
  * @return void
  */
 protected function assertOnShoppingCart(FixtureInterface $product, CheckoutCart $checkoutCart)
 {
     $customOptions = $product->getCustomOptions();
     $checkoutData = $product->getCheckoutData();
     $checkoutCustomOptions = isset($checkoutData['custom_options']) ? $checkoutData['custom_options'] : [];
     $fixturePrice = $product->getPrice();
     $groupPrice = $product->getGroupPrice();
     $specialPrice = $product->getSpecialPrice();
     $cartItem = $checkoutCart->getCartBlock()->getCartItem($product);
     $formPrice = $cartItem->getPrice();
     if ($groupPrice) {
         $groupPrice = reset($groupPrice);
         $fixturePrice = $groupPrice['price'];
     }
     if ($specialPrice) {
         $fixturePrice = $specialPrice;
     }
     $fixtureActualPrice = $fixturePrice;
     foreach ($checkoutCustomOptions as $checkoutOption) {
         $attributeKey = $checkoutOption['title'];
         $optionKey = $checkoutOption['value'];
         $option = $customOptions[$attributeKey]['options'][$optionKey];
         if ('Fixed' == $option['price_type']) {
             $fixtureActualPrice += $option['price'];
         } else {
             $fixtureActualPrice += $fixturePrice / 100 * $option['price'];
         }
     }
     \PHPUnit_Framework_Assert::assertEquals(number_format($fixtureActualPrice, 2), $formPrice, 'Product price in shopping cart is not correct.');
 }
開發者ID:buskamuza,項目名稱:magento2-skeleton,代碼行數:37,代碼來源:AssertProductInCart.php

示例2: assertOnShoppingCart

 /**
  * Assert prices on the shopping cart
  *
  * @param FixtureInterface $product
  * @param CheckoutCart $checkoutCart
  * @return void
  */
 protected function assertOnShoppingCart(FixtureInterface $product, CheckoutCart $checkoutCart)
 {
     $cartBlock = $checkoutCart->getCartBlock();
     $productName = $product->getName();
     $productOptions = $product->getCustomOptions();
     $priceComparing = $product->getPrice();
     if ($groupPrice = $product->getGroupPrice()) {
         $groupPrice = reset($groupPrice);
         $priceComparing = $groupPrice['price'];
     }
     if ($specialPrice = $product->getSpecialPrice()) {
         $priceComparing = $specialPrice;
     }
     if (!empty($productOptions)) {
         $productOption = reset($productOptions);
         $optionsData = reset($productOption['options']);
         $optionName = $cartBlock->getCartItemOptionsNameByProductName($productName);
         $optionValue = $cartBlock->getCartItemOptionsValueByProductName($productName);
         \PHPUnit_Framework_Assert::assertTrue(trim($optionName) === $productOption['title'] && trim($optionValue) === $optionsData['title'], 'In the cart wrong option product.');
         if ($optionsData['price_type'] === 'Percent') {
             $priceComparing = $priceComparing * (1 + $optionsData['price'] / 100);
         } else {
             $priceComparing += $optionsData['price'];
         }
     }
     $price = $checkoutCart->getCartBlock()->getProductPriceByName($productName);
     \PHPUnit_Framework_Assert::assertEquals(number_format($priceComparing, 2), $price, 'Product price in shopping cart is not correct.');
 }
開發者ID:aiesh,項目名稱:magento2,代碼行數:35,代碼來源:AssertProductInCart.php

示例3: assertSpecialPrice

 /**
  * Checking the special product price
  *
  * @param array $price
  * @return array
  */
 protected function assertSpecialPrice(array $price)
 {
     $priceComparing = false;
     if ($specialPrice = $this->product->getSpecialPrice()) {
         $priceComparing = $specialPrice;
     }
     if ($groupPrice = $this->product->getGroupPrice()) {
         $groupPrice = reset($groupPrice);
         $priceComparing = $groupPrice['price'];
     }
     if ($priceComparing && isset($price['price_special_price']) && number_format($priceComparing, 2) !== $price['price_special_price']) {
         return ['special_price' => '- product special price on product view page is not correct.'];
     }
     return [];
 }
開發者ID:Atlis,項目名稱:docker-magento2,代碼行數:21,代碼來源:AssertProductPage.php

示例4: verifySpecialPrice

 /**
  * Checking the special product price
  *
  * @param CatalogProductView $catalogProductView
  * @return array
  */
 protected function verifySpecialPrice(CatalogProductView $catalogProductView)
 {
     $priceBlock = $catalogProductView->getViewBlock()->getProductPriceBlock();
     $price = $priceBlock->isVisible() ? $priceBlock->getPrice() : ['price_special_price' => null];
     $priceComparing = false;
     if ($specialPrice = $this->product->getSpecialPrice()) {
         $priceComparing = $specialPrice;
     }
     if ($groupPrice = $this->product->getGroupPrice()) {
         $groupPrice = reset($groupPrice);
         $priceComparing = $groupPrice['price'];
     }
     if ($priceComparing && isset($price['price_special_price']) && number_format($priceComparing, 2) !== $price['price_special_price']) {
         return ['special_price' => '- product special price on product view page is not correct.'];
     }
     return [];
 }
開發者ID:aiesh,項目名稱:magento2,代碼行數:23,代碼來源:AssertProductPage.php

示例5: prepareOptionArray

 /**
  * Preparation options before comparing
  *
  * @param array $options
  * @return array
  */
 protected function prepareOptionArray(array $options)
 {
     $result = [];
     $productPrice = $this->product->hasData('group_price') ? $this->product->getGroupPrice()[0]['price'] : $this->product->getPrice();
     $placeholder = ['Yes' => true, 'No' => false];
     foreach ($options as $option) {
         $result[$option['title']]['is_require'] = $placeholder[$option['is_require']];
         $result[$option['title']]['title'] = $option['title'];
         $result[$option['title']]['price'] = [];
         foreach ($option['options'] as $optionValue) {
             if ($optionValue['price_type'] === 'Percent') {
                 $optionValue['price'] = $productPrice / 100 * $optionValue['price'];
             }
             $result[$option['title']]['price'][] = number_format($optionValue['price'], 2);
         }
     }
     return $result;
 }
開發者ID:Atlis,項目名稱:docker-magento2,代碼行數:24,代碼來源:AssertCustomOptionsOnProductPage.php


注:本文中的Mtf\Fixture\FixtureInterface::getGroupPrice方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。