/** * 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; }
/** * 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()))); } }
/** * 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()]); }
/** * 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()))); } }
/** * Getter for details row label * * @param Varien_Object $row * @return string */ public function getItemDetailsRowLabel(Varien_Object $row) { return $row->getLabel(); }
/** * 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; }
/** * 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()]); }