В соответствии с Symfony docs можно настроить индивидуальный тип формы сбора. Как я могу использовать Symfony для определения моего настроенного шаблона веточки?
Кажется, он не работает из коробки, но я мог что-то пропустить ..
ЦСИ \ Форма \ Тип \ ItemAliasType:
class ItemAliasType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add("name", TextType::class, [
"label" => "item alias name",
"required" => true,
]);
$builder->add("description", TextType::class, [
"label" => "item alias name",
"required" => true,
]);
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => ItemAlias::class,
]);
}
}
ЦСИ / Форма / ItemForm:
class ItemForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
/* ... code ... */
$builder->add("aliases", CollectionType::class, array_merge([
"label" => "item-aliases",
"entry_type" => ItemAliasType::class,
"allow_add" => true,
"allow_delete" => true,
"prototype" => true,
], $inheritedOptions));
}
}
шаблоны / форма / collections.html.twig:
{% block _aliases_entry_row %}
<div class="custom">
{{ form_widget(form.name) }}
{{ form_widget(form.description) }}
</div>
{% endblock %}
конфиг / пакеты / twig.yaml:
twig:
form_theme:
- 'form/collections.html.twig'