コード例 #1
0
ファイル: Type.php プロジェクト: rafaelstz/magento2
 /**
  * @param \Magento\Bundle\Model\ResourceModel\Selection\Collection $selections
  * @param bool $skipSaleableCheck
  * @param \Magento\Bundle\Model\ResourceModel\Option\Collection $optionsCollection
  * @param int[] $options
  * @return void
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 protected function checkSelectionsIsSale($selections, $skipSaleableCheck, $optionsCollection, $options)
 {
     foreach ($selections->getItems() as $selection) {
         if (!$selection->isSalable() && !$skipSaleableCheck) {
             $_option = $optionsCollection->getItemById($selection->getOptionId());
             $optionId = $_option->getId();
             if (is_array($options[$optionId]) && count($options[$optionId]) > 1) {
                 $moreSelections = true;
             } else {
                 $moreSelections = false;
             }
             $isMultiSelection = $_option->isMultiSelection();
             if ($_option->getRequired() && (!$isMultiSelection || !$moreSelections)) {
                 throw new \Magento\Framework\Exception\LocalizedException(__('The required options you selected are not available.'));
             }
         }
     }
 }