/** * 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); }