/** * Get option html * * @param Mage_Catalog_Model_Product_Option $option * @return string */ public function getOptionHtml($option) { if (!isset($this->_optionRenderers[$option->getType()])) { return $this->__('There is no defined renderer for "%s" option type.', $option->getType()); } $html = $this->getLayout()->createBlock($this->_optionRenderers[$option->getType()])->setOption($option)->setProduct($this->getProduct())->toHtml(); $html = str_replace('bundle.changeSelection(this)', 'return;', $html); $html = str_replace('name="bundle_option[', 'name="cart[' . $this->getItem()->getId() . '][bundle_option][', $html); $html = str_replace('name="bundle_option_qty[', 'name="cart[' . $this->getItem()->getId() . '][bundle_option_qty][', $html); return $html; }
/** * For 1.6.1.0 compatibility * * @return type */ public function getType() { if (parent::getType() == self::OPTION_TYPE_AITCUSTOMER_IMAGE && $this->_ignoreCustomType()) { return Mage_Catalog_Model_Product_Option::OPTION_GROUP_FILE; } return parent::getType(); }
/** * Get option html block * * @param Mage_Catalog_Model_Product_Option $option * * @return string */ public function getOptionHtml(Mage_Catalog_Model_Product_Option $option) { $renderer = $this->getOptionRender($this->getGroupOfOption($option->getType())); if (is_null($renderer['renderer'])) { $renderer['renderer'] = $this->getLayout()->createBlock($renderer['block'])->setTemplate($renderer['template'])->setSkipJsReloadPrice(1); } return $renderer['renderer']->setProduct($this->getProduct())->setOption($option)->toHtml(); }
public function getOptionHtml(Mage_Catalog_Model_Product_Option $option) { $type = $option->getType(); if (empty($type)) { return; } return parent::getOptionHtml($option); }
public function getOptionArray(Mage_Catalog_Model_Product_Option $option) { $commonArgs = array('is_delete', 'previous_type', 'previous_group', 'title', 'type', 'is_require', 'sort_order', 'values'); $priceArgs = array('price_type', 'price', 'sku'); $txtArgs = array('max_characters'); $fileArgs = array('file_extension', 'image_size_x', 'image_size_y'); $multiArgs = array('is_delete', 'title', 'sort_order'); $multi = array('drop_down', 'radio', 'checkbox', 'multiple'); $valueArgs = array_merge($multiArgs, $priceArgs); $type = $option->getType(); switch ($type) { case 'file': $optionArgs = array_merge($commonArgs, $priceArgs, $fileArgs); break; case 'field': case 'area': $optionArgs = array_merge($commonArgs, $priceArgs, $txtArgs); break; case 'date': case 'date_time': case 'time': $optionArgs = array_merge($commonArgs, $priceArgs); break; default: $optionArgs = $commonArgs; break; } $optionArray = $option->toArray($optionArgs); if (in_array($type, $multi)) { $optionArray['values'] = array(); foreach ($option->getValues() as $value) { $optionArray['values'][] = $value->toArray($valueArgs); } } return $optionArray; }
/** * Get option html * * @param Mage_Catalog_Model_Product_Option $option * @return string */ public function getOptionHtml($option) { if (!isset($this->_optionRenderers[$option->getType()])) { return $this->__('There is no defined renderer for "%s" option type.', $option->getType()); } return $this->getLayout()->createBlock($this->_optionRenderers[$option->getType()])->setOption($option)->toHtml(); }
/** * Check whether specified option could have multiple values * * @param Mage_Catalog_Model_Product_Option $option * @return bool */ protected function _isOptionMultiple($option) { switch ($option->getType()) { case Mage_Catalog_Model_Product_Option::OPTION_TYPE_MULTIPLE: case Mage_Catalog_Model_Product_Option::OPTION_TYPE_CHECKBOX: return true; } return false; }
/** * * @param string $filename * @param resource $image * @param Mage_Catalog_Model_Product_Option $option */ protected function _uploadPhoto($filename, $image, $option) { $result = array(); $optionFile = $option->groupFactory($option->getType()); $extension = pathinfo(strtolower($filename), PATHINFO_EXTENSION); $filename = Mage_Core_Model_File_Uploader::getCorrectFileName($filename); $dispersion = Mage_Core_Model_File_Uploader::getDispretionPath($filename); $quoteDir = $optionFile->getQuoteTargetDir() . $dispersion; $uploadDir = Mage::helper('aydus_customconfigurable')->getMediaDir() . DS . $dispersion; if (!file_exists($quoteDir)) { mkdir($quoteDir, 0775, true); } if (!file_exists($uploadDir)) { mkdir($uploadDir, 0775, true); } $hash = md5($image); $filenameHash = $hash . '.' . $extension; $quoteFilePath = $quoteDir . DS . $filenameHash; $size = file_put_contents($quoteFilePath, $image); $result['error'] = $size > 0 ? false : true; if ($result['error']) { $result['data'] = 'File upload failed'; } else { $time = time(); $uploadFilePath = $uploadDir . DS . $time . '-' . $filename; if (copy($quoteFilePath, $uploadFilePath)) { $result['data'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'aydus' . DS . 'customconfigurable' . $dispersion . DS . $time . '-' . $filename; } else { $result['error'] = true; $result['data'] = 'Could not copy uploaded image to ' . $uploadFilePath . '; check permissions'; } } return $result; }