Exemple #1
0
 /**
  * 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;
 }
Exemple #2
0
 /**
  * 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);
 }
Exemple #5
0
 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;
 }
Exemple #6
0
 /**
  * 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();
 }
Exemple #7
0
 /**
  * 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;
 }