Example #1
0
 /**
  * Overloaded for forwards compatibility for Magento 1.6.
  *
  * @param Varien_Data_Form_Element_Abstract $element
  * @return string
  */
 public function render(Varien_Data_Form_Element_Abstract $element)
 {
     $id = $element->getHtmlId();
     $html = '<td class="label"><label for="' . $id . '">' . $element->getLabel() . '</label></td>';
     //$isDefault = !$this->getRequest()->getParam('website') && !$this->getRequest()->getParam('store');
     $isMultiple = $element->getExtType() === 'multiple';
     // replace [value] with [inherit]
     $namePrefix = preg_replace('#\\[value\\](\\[\\])?$#', '', $element->getName());
     $options = $element->getValues();
     $addInheritCheckbox = false;
     if ($element->getCanUseWebsiteValue()) {
         $addInheritCheckbox = true;
         $checkboxLabel = $this->__('Use Website');
     } elseif ($element->getCanUseDefaultValue()) {
         $addInheritCheckbox = true;
         $checkboxLabel = $this->__('Use Default');
     }
     if ($addInheritCheckbox) {
         $inherit = $element->getInherit() == 1 ? 'checked="checked"' : '';
         if ($inherit) {
             $element->setDisabled(true);
         }
     }
     if ($element->getTooltip()) {
         $html .= '<td class="value with-tooltip">';
         $html .= $this->_getElementHtml($element);
         $html .= '<div class="field-tooltip"><div>' . $element->getTooltip() . '</div></div>';
     } else {
         $html .= '<td class="value">';
         $html .= $this->_getElementHtml($element);
     }
     if ($element->getComment()) {
         $html .= '<p class="note"><span>' . $element->getComment() . '</span></p>';
     }
     $html .= '</td>';
     if ($addInheritCheckbox) {
         $defText = $element->getDefaultValue();
         if ($options) {
             $defTextArr = array();
             foreach ($options as $k => $v) {
                 if ($isMultiple) {
                     if (is_array($v['value']) && in_array($k, $v['value'])) {
                         $defTextArr[] = $v['label'];
                     }
                 } elseif (isset($v['value'])) {
                     if ($v['value'] == $defText) {
                         $defTextArr[] = $v['label'];
                         break;
                     }
                 } elseif (!is_array($v)) {
                     if ($k == $defText) {
                         $defTextArr[] = $v;
                         break;
                     }
                 }
             }
             $defText = join(', ', $defTextArr);
         }
         // default value
         $html .= '<td class="use-default">';
         $html .= '<input id="' . $id . '_inherit" name="' . $namePrefix . '[inherit]" type="checkbox" value="1" class="checkbox config-inherit" ' . $inherit . ' onclick="toggleValueElements(this, Element.previous(this.parentNode))" /> ';
         $html .= '<label for="' . $id . '_inherit" class="inherit" title="' . htmlspecialchars($defText) . '">' . $checkboxLabel . '</label>';
         $html .= '</td>';
     }
     $html .= '<td class="scope-label">';
     if ($element->getScope()) {
         $html .= $element->getScopeLabel();
     }
     $html .= '</td>';
     $html .= '<td class="">';
     if ($element->getHint()) {
         $html .= '<div class="hint" >';
         $html .= '<div style="display: none;">' . $element->getHint() . '</div>';
         $html .= '</div>';
     }
     $html .= '</td>';
     return $this->_decorateRowHtml($element, $html);
 }