Встроенный шаблон типа коллекции - PullRequest
0 голосов
/ 22 ноября 2018

Я бы хотел создать пользовательский шаблон для своей встроенной коллекции, потому что встроенный не подходит.Я изо всех сил пытаюсь выяснить, как получить собственный шаблон для рендеринга.

Я попытался добавить шаблон и затем использовать template в качестве атрибута в поле, которое не работало.

->add('pictures', CollectionType::class, [
    'by_reference' => false,
    'label' => false,
], [
    'edit' => 'inline',
    'inline' => 'table',
    'template' => 'admin/picture/test.html.twig'
])

Мои шаблоны для пользовательских правок и т. Д. Сайта в templates / admin /..

Я также добавил метод getFormTheme() к администратору, который использует коллекцияи добавил дамп и умереть, чтобы увидеть, если он будет вызван, и он не сбросить и умереть.

// PicutreAdmin.php

public function getFormTheme()
{
    return array_merge(parent::getFormTheme(), [
        'admin/picture/test.html.twig'
    ]);
}

Примечание. Я хочу, чтобы этот шаблон применялся только к этой конкретной коллекции и ни к одной из других коллекций, которые я использую.

1 Ответ

0 голосов
/ 12 февраля 2019

Вы можете переопределить шаблон администратора, как показано здесь https://sonata -project.org / bundles / admin / master / doc / reference / templates.html расширить его и использовать стратегию, описанную здесь https://symfony.com/doc/4.0/form/form_customization.html Как настроить отдельное поле

Но имейте в виду, что Sonata добавляет настраиваемый префикс ко всем именам элементов формы, поэтому вам необходимо выяснить, как называется эта коллекция, вы можете сделать это, отладив блоки формы и эту статью.может помочь вам https://blog.bouzekri.net/2015-02-06-symfony-tips-find-form-theme-override-block-name.html

...