Ejemplo n.º 1
0
 /**
  * Get option html block
  *
  * @param \Magento\Catalog\Model\Product\Option $option
  *
  * @return string
  */
 public function getOptionHtml(\Magento\Catalog\Model\Product\Option $option)
 {
     $type = $this->getGroupOfOption($option->getType());
     $renderer = $this->getChildBlock($type);
     $renderer->setSkipJsReloadPrice(1)->setProduct($this->getProduct())->setOption($option);
     return $this->getChildHtml($type, false);
 }
Ejemplo n.º 2
0
 /**
  * Validate option type fields
  *
  * @param Option $option
  * @return bool
  */
 protected function validateOptionType(Option $option)
 {
     return $this->isInRange($option->getType(), $this->productOptionTypes);
 }
Ejemplo n.º 3
0
 /**
  * Load option value
  *
  * @param \Magento\Catalog\Model\Product\Option $option
  * @return Metadata[]
  */
 public function read(\Magento\Catalog\Model\Product\Option $option)
 {
     $type = $option->getType();
     $reader = isset($this->valueReaders[$type]) ? $this->valueReaders[$type] : $this->valueReaders['default'];
     return $reader->read($option);
 }
Ejemplo n.º 4
0
 /**
  * Create option data object
  *
  * @param \Magento\Catalog\Model\Product\Option $option
  * @return \Magento\Catalog\Service\V1\Product\CustomOptions\Data\Option array
  */
 protected function _createOptionDataObject(\Magento\Catalog\Model\Product\Option $option)
 {
     $data = array(Data\Option::OPTION_ID => $option->getId(), Data\Option::TITLE => $option->getTitle(), Data\Option::TYPE => $option->getType(), Data\Option::IS_REQUIRE => $option->getIsRequire(), Data\Option::SORT_ORDER => $option->getSortOrder(), Data\Option::METADATA => $this->optionMetadataReader->read($option));
     return $this->optionBuilder->populateWithArray($data)->create();
 }