Пример #1
0
 /**
  * Create filter fields for 'Filter' column.
  *
  * @param mixed $value
  * @param Mage_Eav_Model_Entity_Attribute $row
  * @param Varien_Object $column
  * @param boolean $isExport
  * @return string
  */
 public function decorateFilter($value, Mage_Eav_Model_Entity_Attribute $row, Varien_Object $column, $isExport)
 {
     $value = null;
     $values = $column->getValues();
     if (is_array($values) && isset($values[$row->getAttributeCode()])) {
         $value = $values[$row->getAttributeCode()];
     }
     switch (Mage_ImportExport_Model_Export::getAttributeFilterType($row)) {
         case Mage_ImportExport_Model_Export::FILTER_TYPE_SELECT:
             $cell = $this->_getSelectHtmlWithValue($row, $value);
             break;
         case Mage_ImportExport_Model_Export::FILTER_TYPE_INPUT:
             $cell = $this->_getInputHtmlWithValue($row, $value);
             break;
         case Mage_ImportExport_Model_Export::FILTER_TYPE_DATE:
             $cell = $this->_getDateFromToHtmlWithValue($row, $value);
             break;
         case Mage_ImportExport_Model_Export::FILTER_TYPE_NUMBER:
             $cell = $this->_getNumberFromToHtmlWithValue($row, $value);
             break;
         default:
             $cell = $this->_helper->__('Unknown attribute filter type');
     }
     return $cell;
 }
Пример #2
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;
 }
Пример #3
0
 /**
  * @SuppressWarnings(PHPMD.NPathComplexity)
  * @throws InvalidArgumentException
  * @param array $data
  */
 public function __construct(array $data = array())
 {
     $this->_helper = isset($data['helper']) ? $data['helper'] : Mage::helper('Mage_Backend_Helper_Data');
     unset($data['helper']);
     if (false === $this->_helper instanceof Mage_Core_Helper_Abstract) {
         throw new InvalidArgumentException('Passed wrong parameters');
     }
     if (isset($data['rowUrl'])) {
         $rowUrlParams = $data['rowUrl'];
         if (isset($rowUrlParams['generator'])) {
             $this->_rowUrlGenerator = $rowUrlParams['generator'];
         } else {
             $generatorClassName = 'Mage_Backend_Model_Widget_Grid_Row_UrlGenerator';
             if (isset($data['generatorClass'])) {
                 $generatorClassName = $rowUrlParams['generatorClass'];
             }
             $objectFactory = isset($data['objectFactory']) ? $data['objectFactory'] : Mage::app()->getConfig();
             if (false === $objectFactory instanceof Mage_Core_Model_Config) {
                 throw new InvalidArgumentException('Passed wrong parameters');
             }
             unset($data['objectFactory']);
             $this->_rowUrlGenerator = $objectFactory->getModelInstance($generatorClassName, $rowUrlParams);
         }
         if (false === $this->_rowUrlGenerator instanceof Mage_Backend_Model_Widget_Grid_Row_UrlGenerator) {
             throw new InvalidArgumentException('Passed wrong parameters');
         }
     }
     parent::__construct($data);
     $this->setTemplate('Mage_Backend::widget/grid/column_set.phtml');
     $this->setEmptyText($this->_helper->__('No records found.'));
 }
Пример #4
0
 /**
  * Get information about all declared cache types
  *
  * @return array
  */
 public function getTypes()
 {
     $types = array();
     $config = $this->_config->getNode(self::XML_PATH_TYPES);
     if ($config) {
         foreach ($config->children() as $type => $node) {
             $types[$type] = new Varien_Object(array('id' => $type, 'cache_type' => $this->_helper->__((string) $node->label), 'description' => $this->_helper->__((string) $node->description), 'tags' => strtoupper((string) $node->tags), 'status' => (int) $this->canUse($type)));
         }
     }
     return $types;
 }
 public function translate(array $args)
 {
     $this->reset();
     $this->parseInput($args);
     $this->parsePlaceholders();
     if (count($this->placeholders) <= 0) {
         array_unshift($this->args, $this->text);
         return call_user_func_array(array($this, '__'), $this->args);
     }
     $this->translatedText = parent::__($this->text);
     $this->replacePlaceholdersByValue();
     $this->replacePlaceholdersByArgs();
     $unprocessedArgs = array_diff($this->args, $this->processedArgs);
     if (!$unprocessedArgs) {
         return $this->translatedText;
     }
     return vsprintf($this->translatedText, $unprocessedArgs);
 }
Пример #6
0
 /**
  * @param Mage_Core_Controller_Request_Http $request
  * @param Mage_Core_Model_Layout $layout
  * @param Mage_Core_Model_Event_Manager $eventManager
  * @param Mage_Core_Model_Url $urlBuilder
  * @param Mage_Core_Model_Translate $translator
  * @param Mage_Core_Model_Cache $cache
  * @param Mage_Core_Model_Design_Package $designPackage
  * @param Mage_Core_Model_Session $session
  * @param Mage_Core_Model_Store_Config $storeConfig
  * @param Mage_Core_Controller_Varien_Front $frontController
  * @param Mage_Core_Model_Factory_Helper $helperFactory
  * @param Magento_Filesystem $filesystem
  * @param Mage_Backend_Helper_Data $helper
  * @param Mage_Backend_Model_Widget_Grid_Row_UrlGeneratorFactory $generatorFactory
  * @param Mage_Backend_Model_Widget_Grid_SubTotals $subtotals
  * @param Mage_Backend_Model_Widget_Grid_Totals $totals
  * @param array $data
  *
  * @SuppressWarnings(PHPMD.ExcessiveParameterList)
  * @SuppressWarnings(PHPMD.NPathComplexity)
  */
 public function __construct(Mage_Core_Controller_Request_Http $request, Mage_Core_Model_Layout $layout, Mage_Core_Model_Event_Manager $eventManager, Mage_Core_Model_Url $urlBuilder, Mage_Core_Model_Translate $translator, Mage_Core_Model_Cache $cache, Mage_Core_Model_Design_Package $designPackage, Mage_Core_Model_Session $session, Mage_Core_Model_Store_Config $storeConfig, Mage_Core_Controller_Varien_Front $frontController, Mage_Core_Model_Factory_Helper $helperFactory, Magento_Filesystem $filesystem, Mage_Backend_Helper_Data $helper, Mage_Backend_Model_Widget_Grid_Row_UrlGeneratorFactory $generatorFactory, Mage_Backend_Model_Widget_Grid_SubTotals $subtotals, Mage_Backend_Model_Widget_Grid_Totals $totals, array $data = array())
 {
     $this->_helper = $helper;
     $generatorClassName = 'Mage_Backend_Model_Widget_Grid_Row_UrlGenerator';
     if (isset($data['rowUrl'])) {
         $rowUrlParams = $data['rowUrl'];
         if (isset($rowUrlParams['generatorClass'])) {
             $generatorClassName = $rowUrlParams['generatorClass'];
         }
         $this->_rowUrlGenerator = $generatorFactory->createUrlGenerator($generatorClassName, array('args' => $rowUrlParams));
     }
     $this->setFilterVisibility(array_key_exists('filter_visibility', $data) ? (bool) $data['filter_visibility'] : true);
     parent::__construct($request, $layout, $eventManager, $urlBuilder, $translator, $cache, $designPackage, $session, $storeConfig, $frontController, $helperFactory, $filesystem, $data);
     $this->setEmptyText($this->_helper->__(isset($data['empty_text']) ? $data['empty_text'] : 'No records found.'));
     $this->setEmptyCellLabel($this->_helper->__(isset($data['empty_cell_label']) ? $data['empty_cell_label'] : 'No records found.'));
     $this->setCountSubTotals(isset($data['count_subtotals']) ? (bool) $data['count_subtotals'] : false);
     $this->_subTotals = $subtotals;
     $this->setCountTotals(isset($data['count_totals']) ? (bool) $data['count_totals'] : false);
     $this->_totals = $totals;
 }
Пример #7
0
 /**
  * Create filter fields for 'Filter' column.
  *
  * @param mixed $value
  * @param Mage_Eav_Model_Entity_Attribute $row
  * @param Varien_Object $column
  * @param boolean $isExport
  * @return string
  */
 public function decorateFilter($value, Mage_Eav_Model_Entity_Attribute $row, Varien_Object $column, $isExport)
 {
     switch (Mage_ImportExport_Model_Export::getAttributeFilterType($row)) {
         case Mage_ImportExport_Model_Export::FILTER_TYPE_SELECT:
             $cell = $this->_getSelectHtml($row);
             break;
         case Mage_ImportExport_Model_Export::FILTER_TYPE_INPUT:
             $cell = $this->_getInputHtml($row);
             break;
         case Mage_ImportExport_Model_Export::FILTER_TYPE_DATE:
             $cell = $this->_getDateFromToHtml($row);
             break;
         case Mage_ImportExport_Model_Export::FILTER_TYPE_NUMBER:
             $cell = $this->_getNumberFromToHtml($row);
             break;
         default:
             $cell = $this->_helper->__('Unknown attribute filter type');
     }
     return $cell;
 }
Пример #8
0
 public function test__()
 {
     $uniqueText = uniqid('prefix_');
     $this->assertEquals($uniqueText, $this->_helper->__($uniqueText));
 }