Esempio n. 1
0
 /**
  * Initialize config field group
  *
  * @param \Magento\Config\Model\Config\Structure\Element\Group $group
  * @param \Magento\Config\Model\Config\Structure\Element\Section $section
  * @param \Magento\Framework\Data\Form\AbstractForm $form
  * @return void
  */
 protected function _initGroup(\Magento\Config\Model\Config\Structure\Element\Group $group, \Magento\Config\Model\Config\Structure\Element\Section $section, \Magento\Framework\Data\Form\AbstractForm $form)
 {
     $frontendModelClass = $group->getFrontendModel();
     $fieldsetRenderer = $frontendModelClass ? $this->_layout->getBlockSingleton($frontendModelClass) : $this->_fieldsetRenderer;
     $fieldsetRenderer->setForm($this);
     $fieldsetRenderer->setConfigData($this->_configData);
     $fieldsetRenderer->setGroup($group);
     $fieldsetConfig = ['legend' => $group->getLabel(), 'comment' => $group->getComment(), 'expanded' => $group->isExpanded(), 'group' => $group->getData()];
     $fieldset = $form->addFieldset($this->_generateElementId($group->getPath()), $fieldsetConfig);
     $fieldset->setRenderer($fieldsetRenderer);
     $group->populateFieldset($fieldset);
     $this->_addElementTypes($fieldset);
     $dependencies = $group->getDependencies($this->getStoreCode());
     $elementName = $this->_generateElementName($group->getPath());
     $elementId = $this->_generateElementId($group->getPath());
     $this->_populateDependenciesBlock($dependencies, $elementId, $elementName);
     if ($group->shouldCloneFields()) {
         $cloneModel = $group->getCloneModel();
         foreach ($cloneModel->getPrefixes() as $prefix) {
             $this->initFields($fieldset, $group, $section, $prefix['field'], $prefix['label']);
         }
     } else {
         $this->initFields($fieldset, $group, $section);
     }
     $this->_fieldsets[$group->getId()] = $fieldset;
 }