Exemple #1
0
 /**
  * Initialize config group fields
  *
  * @param Varien_Data_Form_Element_Fieldset $fieldset
  * @param Mage_Backend_Model_Config_Structure_Element_Group $group
  * @param Mage_Backend_Model_Config_Structure_Element_Section $section
  * @param string $fieldPrefix
  * @param string $labelPrefix
  * @return Mage_Backend_Block_System_Config_Form
  */
 public function initFields(Varien_Data_Form_Element_Fieldset $fieldset, Mage_Backend_Model_Config_Structure_Element_Group $group, Mage_Backend_Model_Config_Structure_Element_Section $section, $fieldPrefix = '', $labelPrefix = '')
 {
     if (!$this->_configDataObject) {
         $this->_initObjects();
     }
     // Extends for config data
     $extraConfigGroups = array();
     /** @var $element Mage_Backend_Model_Config_Structure_Element_Field */
     foreach ($group->getChildren() as $element) {
         if ($element instanceof Mage_Backend_Model_Config_Structure_Element_Group) {
             $this->_initGroup($element, $section, $fieldset);
         } else {
             $path = $element->getPath($fieldPrefix);
             if ($element->getSectionId() != $section->getId()) {
                 $groupPath = $element->getGroupPath();
                 if (!isset($extraConfigGroups[$groupPath])) {
                     $this->_configData = $this->_configDataObject->extendConfig($groupPath, false, $this->_configData);
                     $extraConfigGroups[$groupPath] = true;
                 }
             }
             $this->_initElement($element, $fieldset, $path, $fieldPrefix, $labelPrefix);
         }
     }
     return $this;
 }