AddInput(self::INPUT_CLASS_NAME, ClassIOFormat::class); } protected $oBlock; public function GetOptions(): array { $aOptions = parent::GetOptions(); // Convert block information in type information if(isset($aOptions['block_entry_type'])) { $aOptions['prototype'] = true; $aOptions['allow_add'] = true; $aOptions['prototype_options'] = [ 'label' => false ]; } $sBlockEntryType = $aOptions['block_entry_type']; $sBlockEntryOptions = $aOptions['block_entry_options']; $this->oBlock = new ($sBlockEntryType)('prototype', $sBlockEntryOptions); // $this->HandleBlockDependencies(); // $this->oBlock->SetParent($this->GetParent()); // $oBlock->DependsOn('company', 'company', AbstractFormBlock::OUTPUT_VALUE); unset($aOptions['block_entry_type']); unset($aOptions['block_entry_options']); $aOptions['entry_type'] = $this->oBlock->GetFormType(); $aOptions['entry_options'] = $this->oBlock->GetOptions(); return $aOptions; } public function HandleBlockDependencies(): void { } }