Example #1
0
 public function render(Varien_Data_Form_Element_Abstract $element)
 {
     $this->setElement($this);
     $this->getType($element->getType());
     $this->setLabelHtml($this->_getLabelHtml($element));
     $this->setElementHtml($this->_getElementHtml($element));
     return $this->toHtml();
 }
Example #2
0
 /**
  * Return checkbox html with hidden field for correct config values
  *
  * @param string $elementId
  * @return string
  */
 public function getElementHtml(Varien_Data_Form_Element_Abstract $element)
 {
     if ($element->getType() != 'checkbox') {
         return $element->getElementHtml();
     }
     $configValue = (string) $element->getValue();
     if ($configValue) {
         $element->setChecked(true);
     } else {
         $element->setValue('1');
     }
     if ($element->getCanUseDefaultValue() && $element->getInherit()) {
         $element->setDisabled(true);
     }
     $hidden = new Varien_Data_Form_Element_Hidden(array('html_id' => $element->getHtmlId() . '_value', 'name' => $element->getName(), 'value' => '0'));
     $hidden->setForm($element->getForm());
     return $hidden->getElementHtml() . $element->getElementHtml();
 }
Example #3
0
 /**
  * Copy data level up from _data['field_config'] so it could be later used by button element
  *
  * @param Varien_Data_Form_Element_Abstract $element
  * @return string
  */
 protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
 {
     /**
      * There's no way to unset the renderer from the element. We need to clone the current one and set additional
      * data and default renderer to keep standard look and feel.
      */
     /* @see Varien_Data_Form_Abstract::addField() */
     $elementClassName = 'Varien_Data_Form_Element_' . ucfirst(strtolower($element->getType()));
     /* @var $newElement Varien_Data_Form_Element_Abstract */
     $newElement = new $elementClassName($element->getData());
     $newElement->setId($element->getHtmlId());
     $newElement->setForm($this->getForm());
     /* @see Mage_Adminhtml_Block_System_Config_Form::_initObjects() */
     $newElement->setRenderer(Mage::getBlockSingleton('adminhtml/system_config_form_field'));
     if (isset($element->getFieldConfig()->config)) {
         // Push data into internal array from <config> section, so we can reach it later in element building model.
         $newElement->addData((array) $element->getFieldConfig()->config);
     }
     return $newElement->toHtml();
 }