Ejemplo n.º 1
0
 /**
  * @test
  */
 public function configMergeTest()
 {
     $xml1 = new \SimpleXMLElement($this->_xml1);
     $xml2 = new \SimpleXMLElement($this->_xml2);
     \Magelight\Components\Loaders\Config::mergeConfig($xml1, $xml2);
     $this->assertEquals('override', (string) $xml1->test->file);
 }
Ejemplo n.º 2
0
 /**
  * Get entities configuration
  *
  * @return mixed|\SimpleXMLElement
  */
 public function getEntitiesConfig()
 {
     if (empty($this->entitiesConfig)) {
         $entitiesConfig = clone \Magelight\Config::getInstance()->getConfig('admin/scaffold/entities');
         $this->defaultEntityConfig = clone $entitiesConfig->default;
         unset($entitiesConfig->default);
         foreach ($entitiesConfig->children() as $child) {
             /** @var $child \SimpleXMLElement */
             /** @var $draft \SimpleXMLElement */
             /** @var $fieldDraft \SimpleXMLElement */
             $draft = clone $this->defaultEntityConfig;
             \Magelight\Components\Loaders\Config::mergeConfig($draft, $child);
             \Magelight\Components\Loaders\Config::mergeConfig($entitiesConfig->{$child->getName()}, $draft);
             $defaultFieldConfig = clone $entitiesConfig->{$child->getName()}->fields->default;
             unset($entitiesConfig->{$child->getName()}->fields->default);
             foreach ($entitiesConfig->{$child->getName()}->fields->children() as $field) {
                 $fieldDraft = clone $defaultFieldConfig;
                 \Magelight\Components\Loaders\Config::mergeConfig($fieldDraft, $field);
                 \Magelight\Components\Loaders\Config::mergeConfig($entitiesConfig->{$child->getName()}->fields->{$field->getName()}, $fieldDraft);
             }
         }
         $this->entitiesConfig = $entitiesConfig;
     }
     return $this->entitiesConfig;
 }