Exemple #1
0
 /**
  * @param array $settings
  * @return \FluidTYPO3\Flux\Form\Container\Section
  */
 public static function create(array $settings)
 {
     /** @var ObjectManagerInterface $objectManager */
     $objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
     /** @var Section */
     $section = $objectManager->get('FluidTYPO3\\Flux\\Form\\Container\\Section');
     foreach ($settings as $settingName => $settingValue) {
         $setterMethodName = ObjectAccess::buildSetterMethodName($settingName);
         if (TRUE === method_exists($section, $setterMethodName)) {
             ObjectAccess::setProperty($section, $settingName, $settingValue);
         }
     }
     if (TRUE === isset($settings['objects'])) {
         foreach ($settings['objects'] as $fieldName => $objectSettings) {
             if (FALSE === isset($objectSettings['name'])) {
                 $objectSettings['name'] = $fieldName;
             }
             $object = Object::create($objectSettings);
             $section->add($object);
         }
     }
     return $section;
 }
Exemple #2
0
 /**
  * @test
  */
 public function getFieldsGetsFields()
 {
     $container = Object::create(array('name' => 'test'));
     $container->createField('Input', 'test');
     $this->assertCount(1, $container->getFields());
 }
Exemple #3
0
 /**
  * @test
  */
 public function prefixesParentObjectNameToAutoLabelIfInsideObject()
 {
     $instance = $this->createInstance();
     $parent = Form\Container\Object::create();
     $parent->setName('parent');
     $instance->setName('child');
     $parent->add($instance);
     $output = $instance->getLabel();
     $this->assertContains('parent.child', $output);
 }