Example #1
0
 /**
  * Prepare text of item label
  *
  * @param   int $range
  * @param   float $value
  * @return  string
  */
 protected function _renderItemLabel($range, $value)
 {
     $range = $this->_getResource()->getPriceRange($value, $range);
     $result = new Varien_Object();
     Mage::dispatchEvent('m_render_price_range', array('range' => $range, 'model' => $this, 'result' => $result));
     if ($result->getLabel()) {
         return $result->getLabel();
     } else {
         $store = Mage::app()->getStore();
         $fromPrice = $store->formatPrice($range['from'], false);
         $toPrice = $store->formatPrice($range['to'], false);
         return Mage::helper('catalog')->__('%s - %s', $fromPrice, $toPrice);
     }
 }
 /**
  * Adds fields to the child fieldset
  *
  * @param Varien_Data_Form_Element_Abstract $fieldset
  * @param Varien_Object                     $element
  *
  * @return Varien_Data_Form_Element_Abstract
  */
 protected function _addSubFields($fieldset, $element)
 {
     $configCode = 'bronto_email_templates_label_' . $element->getSection();
     if ($element->frontend_model) {
         $fieldRenderer = Mage::getBlockSingleton((string) $element->frontend_model);
     } else {
         $fieldRenderer = $this->_getFieldRenderer();
     }
     $labelLink = $element->getLabel();
     $label = sprintf('<a href="%s" title="%s">%s</a>', $labelLink['url'], $labelLink['title'], $labelLink['title']);
     try {
         $field = $fieldset->addFieldSet($configCode, array('label' => $label, 'inherit' => false, 'field_config' => $element, 'scope' => $this->getForm()->getScope(), 'scopeId' => $this->getForm()->getScopeId(), 'can_use_default_value' => $this->getForm()->canUseDefaultValue((int) $element->show_in_default), 'can_use_website_value' => $this->getForm()->canUseWebsiteValue((int) $element->show_in_website)));
         $fieldRenderer->setForm($this->getForm());
         $field->setRenderer($fieldRenderer);
     } catch (Exception $e) {
         Mage::helper('bronto_customer')->writeDebug('Creating field failed: ' . $e->getMessage());
         return '';
     }
     return $field;
 }
Example #3
0
 /**
  * Add total to totals XML. Api version 23.
  *
  * @param Varien_Object $total
  * @param Mage_XmlConnect_Model_Simplexml_Element $totalsXml
  * @return null
  */
 protected function _addTotalToXmlApi23($total, Mage_XmlConnect_Model_Simplexml_Element $totalsXml)
 {
     if ($total instanceof Varien_Object && $total->getCode() && $total->getLabel() && $total->hasData('value')) {
         $totalsXml->addCustomChild('item', $this->_formatPrice($total), array('id' => preg_replace('@[\\W]+@', '_', trim($total->getCode())), 'label' => $totalsXml->escapeXml($total->getLabel())));
     }
 }
Example #4
0
 /**
  * Determine whether to show an image in the product media gallery
  *
  * @param Mage_Catalog_Model_Product $product
  * @param Varien_Object $image
  * @return bool
  */
 public function filterImageInGallery($product, $image)
 {
     if (!Mage::helper('configurableswatches')->isEnabled()) {
         return true;
     }
     if (!isset($this->_productImageFilters[$product->getId()])) {
         $mapping = call_user_func_array("array_merge_recursive", $product->getChildAttributeLabelMapping());
         $filters = array_unique($mapping['labels']);
         $filters = array_merge($filters, array_map(function ($label) {
             return $label . Mage_ConfigurableSwatches_Helper_Productimg::SWATCH_LABEL_SUFFIX;
         }, $filters));
         $this->_productImageFilters[$product->getId()] = $filters;
     }
     return !in_array(Mage_ConfigurableSwatches_Helper_Data::normalizeKey($image->getLabel()), $this->_productImageFilters[$product->getId()]);
 }
Example #5
0
 /**
  * Add total to totals XML
  *
  * @param Varien_Object $total
  * @param Mage_XmlConnect_Model_Simplexml_Element $totalsXml
  * @return null
  */
 private function _addTotalToXml($total, Mage_XmlConnect_Model_Simplexml_Element $totalsXml)
 {
     if ($total instanceof Varien_Object && $total->getCode() && $total->getLabel() && $total->hasData('value')) {
         $totalsXml->addCustomChild(preg_replace('@[\\W]+@', '_', trim($total->getCode())), $this->_formatPrice($total), array('label' => strip_tags($total->getLabel())));
     }
 }
Example #6
0
 /**
  * Getter for details row label
  *
  * @param Varien_Object $row
  * @return string
  */
 public function getItemDetailsRowLabel(Varien_Object $row)
 {
     return $row->getLabel();
 }
Example #7
0
 /**
  * Add field to Options form based on parameter configuration
  *
  * @param Varien_Object $parameter
  * @return Varien_Data_Form_Element_Abstract
  */
 protected function _addField($parameter)
 {
     $form = $this->getForm();
     $fieldset = $this->getMainFieldset();
     //$form->getElement('options_fieldset');
     // prepare element data with values (either from request of from default values)
     $fieldName = $parameter->getKey();
     $data = array('name' => $form->addSuffixToName($fieldName, 'parameters'), 'label' => $this->_translationHelper->__($parameter->getLabel()), 'required' => $parameter->getRequired(), 'class' => 'widget-option', 'note' => $this->_translationHelper->__($parameter->getDescription()));
     if ($values = $this->getWidgetValues()) {
         $data['value'] = isset($values[$fieldName]) ? $values[$fieldName] : '';
     } else {
         $data['value'] = $parameter->getValue();
         //prepare unique id value
         if ($fieldName == 'unique_id' && $data['value'] == '') {
             $data['value'] = md5(microtime(1));
         }
     }
     // prepare element dropdown values
     if ($values = $parameter->getValues()) {
         // dropdown options are specified in configuration
         $data['values'] = array();
         foreach ($values as $option) {
             $data['values'][] = array('label' => $this->_translationHelper->__($option['label']), 'value' => $option['value']);
         }
     } elseif ($sourceModel = $parameter->getSourceModel()) {
         $data['values'] = Mage::getModel($sourceModel)->toOptionArray();
     }
     // prepare field type or renderer
     $fieldRenderer = null;
     $fieldType = $parameter->getType();
     // hidden element
     if (!$parameter->getVisible()) {
         $fieldType = 'hidden';
     } elseif (false !== strpos($fieldType, '/')) {
         $fieldRenderer = $this->getLayout()->createBlock($fieldType);
         $fieldType = $this->_defaultElementType;
     }
     // instantiate field and render html
     $field = $fieldset->addField($this->getMainFieldsetHtmlId() . '_' . $fieldName, $fieldType, $data);
     if ($fieldRenderer) {
         $field->setRenderer($fieldRenderer);
     }
     // extra html preparations
     if ($helper = $parameter->getHelperBlock()) {
         $helperBlock = $this->getLayout()->createBlock($helper->getType(), '', $helper->getData());
         if ($helperBlock instanceof Varien_Object) {
             $helperBlock->setConfig($helper->getData())->setFieldsetId($fieldset->getId())->setTranslationHelper($this->_translationHelper)->prepareElementHtml($field);
         }
     }
     // dependencies from other fields
     $dependenceBlock = $this->getChild('form_after');
     $dependenceBlock->addFieldMap($field->getId(), $fieldName);
     if ($parameter->getDepends()) {
         foreach ($parameter->getDepends() as $from => $row) {
             $values = isset($row['values']) ? array_values($row['values']) : (string) $row['value'];
             $dependenceBlock->addFieldDependence($fieldName, $from, $values);
         }
     }
     return $field;
 }
Example #8
0
 /**
  * Determine whether to show an image in the product media gallery
  *
  * @param Mage_Catalog_Model_Product $product
  * @param Varien_Object $image
  * @return bool
  */
 public function filterImageInGallery($product, $image)
 {
     if (!Mage::helper('configurableswatches')->isEnabled()) {
         return true;
     }
     if (!isset($this->_productImageFilters[$product->getId()])) {
         $mapping = call_user_func_array("array_merge_recursive", $product->getChildAttributeLabelMapping());
         /* Wigman: this goes out: */
         //$filters = array_unique($mapping['labels']);
         /* Wigman: and this comes in (that's because we changed the labels object to include sort_ids) */
         $filters = array();
         foreach ($mapping['labels'] as $index => $label) {
             $filters[$index] = $label['label'];
         }
         $filters = array_unique($filters);
         $filters = array_merge($filters, array_map(function ($label) {
             return $label . Mage_ConfigurableSwatches_Helper_Productimg::SWATCH_LABEL_SUFFIX;
         }, $filters));
         $this->_productImageFilters[$product->getId()] = $filters;
     }
     return !in_array(Mage_ConfigurableSwatches_Helper_Data::normalizeKey($image->getLabel()), $this->_productImageFilters[$product->getId()]);
 }