public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->add('slug', null, ['attr' => ['autofocus' => 'autofocus']])->add('is_enabled')->add('position')->add('meta', MetaFormType::class, ['label' => 'Meta tags']);
     foreach ($this->configuration->getStructures() as $structure) {
         $optionsCat = ['label' => $structure->getTitleForm(), 'required' => $structure->getIsRequired(), 'expanded' => $structure->isMultipleEntries(), 'multiple' => $structure->isMultipleEntries(), 'class' => $this->configuration->getTaxonClass()];
         /** @var TaxonModel $taxon */
         foreach ($options['data']->getTaxonsSingle() as $taxon) {
             if ($taxon->getStructure()->getName() === $structure->getName()) {
                 if ($structure->isMultipleEntries()) {
                     $optionsCat['data'][] = $taxon;
                 } else {
                     $optionsCat['data'] = $taxon;
                     break;
                 }
             }
         }
         $optionsCat['unicat_structure'] = $structure;
         $builder->add('structure:' . $structure->getName(), TaxonTreeType::class, $optionsCat);
     }
     /** @var $attribute AttributeModel */
     foreach ($this->unicat->getAttributes($this->configuration) as $attribute) {
         $type = $attribute->getType();
         $propertyOptions = ['required' => $attribute->getIsRequired(), 'label' => $attribute->getTitle()];
         $attributeOptions = array_merge($propertyOptions, $attribute->getParam('form'));
         if ($attribute->isType('image')) {
             // @todo сделать виджет загрузки картинок.
             //$type = 'genemu_jqueryimage';
             $type = AttributeImageFormType::class;
             if (isset($options['data'])) {
                 $attributeOptions['data'] = $options['data']->getAttribute($attribute->getName());
             }
         }
         if ($attribute->isType('select')) {
             $type = ChoiceType::class;
         }
         if ($attribute->isType('multiselect')) {
             $type = ChoiceType::class;
             $attributeOptions['expanded'] = true;
             //$propertyOptions['multiple'] = true; // @todo FS#407 продумать мультиселект
         }
         if (isset($attributeOptions['constraints'])) {
             $constraintsObjects = [];
             foreach ($attributeOptions['constraints'] as $constraintsList) {
                 foreach ($constraintsList as $constraintClass => $constraintParams) {
                     $_class = '\\Symfony\\Component\\Validator\\Constraints\\' . $constraintClass;
                     $constraintsObjects[] = new $_class($constraintParams);
                 }
             }
             $attributeOptions['constraints'] = $constraintsObjects;
         }
         $type = $this->resolveTypeName($type);
         $builder->add('attribute:' . $attribute->getName(), $type, $attributeOptions);
     }
 }
 /** @param ManagerRegistry $doctrine */
 public function __construct(ManagerRegistry $doctrine)
 {
     $this->configuration = UnicatService::getCurrentConfigurationStatic();
     $this->doctrine = $doctrine;
 }
 public function __construct()
 {
     $this->configuration = UnicatService::getCurrentConfigurationStatic();
 }