Как я могу заставить это поле использовать шаблон?
Следование документации, похоже, не помогает. Чего мне не хватает?
Я пытаюсь отобразить это в этом поле контроллера crud:
$translationContents = CollectionField::new('translationKeys')
->setTemplatePath('admin/translation_content.html.twig')
->setFormTypeOptions([
'entry_type' => TranslationType::class,
'by_reference' => false,
]);
Это мой собственный тип:
class TranslationType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'label' => 'Key',
])
->add('translationContent', CollectionType::class, [
'entry_type' => TranslationContentType::class,
'label' => false,
'allow_add' => true,
'allow_delete' => true,
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => TranslationKey::class,
]);
}
public function getBlockPrefix()
{
return 'translation_key';
}
}
Это еще один пользовательский тип, который отображается внутри предыдущего:
class TranslationContentType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('locale', EntityType::class, [
'class' => Locale::class,
'choice_label' => 'code', // Assuming your Locale entity has a 'code' property
'label' => 'Locale',
])
->add('name', TextType::class, [
'label' => 'Translation Content',
])
->add('tag', IntegerType::class, [
'label' => 'tag',
'attr' => [
'min' => 0,
'max' => 3
],
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => TranslationContent::class,
]);
}
}
это шаблон, который я пытаюсь использовать. В настоящее время это просто способ отладки, если он отображается.
{% block translation_key_widget %}
{{ dump('Template loaded!') }}
{% for child in form.children|filter(child => not child.rendered) %}
test
{{ form_label(child) }}
{{ form_widget(child) }}
{{ form_help(child) }}
{{ form_errors(child) }}
{% endfor %}
{% endblock %}
Я добавил это в twig.yaml
form_themes:
- 'admin/translation_content.html.twig'
Подробнее здесь: https://stackoverflow.com/questions/787 ... ustom-type
Symfony 5.4 Отображение пользовательской формы шаблона CollectionField с пользовательским типом ⇐ Php
Кемеровские программисты php общаются здесь
1720083016
Anonymous
Как я могу заставить это поле использовать шаблон?
Следование документации, похоже, не помогает. Чего мне не хватает?
Я пытаюсь отобразить это в этом поле контроллера crud:
$translationContents = CollectionField::new('translationKeys')
->setTemplatePath('admin/translation_content.html.twig')
->setFormTypeOptions([
'entry_type' => TranslationType::class,
'by_reference' => false,
]);
Это мой собственный тип:
class TranslationType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'label' => 'Key',
])
->add('translationContent', CollectionType::class, [
'entry_type' => TranslationContentType::class,
'label' => false,
'allow_add' => true,
'allow_delete' => true,
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => TranslationKey::class,
]);
}
public function getBlockPrefix()
{
return 'translation_key';
}
}
Это еще один пользовательский тип, который отображается внутри предыдущего:
class TranslationContentType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('locale', EntityType::class, [
'class' => Locale::class,
'choice_label' => 'code', // Assuming your Locale entity has a 'code' property
'label' => 'Locale',
])
->add('name', TextType::class, [
'label' => 'Translation Content',
])
->add('tag', IntegerType::class, [
'label' => 'tag',
'attr' => [
'min' => 0,
'max' => 3
],
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => TranslationContent::class,
]);
}
}
это шаблон, который я пытаюсь использовать. В настоящее время это просто способ отладки, если он отображается.
{% block translation_key_widget %}
{{ dump('Template loaded!') }}
{% for child in form.children|filter(child => not child.rendered) %}
test
{{ form_label(child) }}
{{ form_widget(child) }}
{{ form_help(child) }}
{{ form_errors(child) }}
{% endfor %}
{% endblock %}
Я добавил это в twig.yaml
form_themes:
- 'admin/translation_content.html.twig'
Подробнее здесь: [url]https://stackoverflow.com/questions/78705902/symfony-5-4-rendering-custom-template-form-collectionfield-with-a-custom-type[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия