2010-07-05 2 views
0

Я только что создал собственный формат форматирования схемы, расширив sfWidgetFormSchemaFormatter для моих форм. Однако, что печально знать, так это то, что для его использования мне нужно указать это в методе configure() для каждой формы, которую я использую, что является болезненным.Применить формулятор формы для всех форм?

Дать это в BaseForm является хорошей идеей, но проблема в том, что ModelForm & BaseModelForm не неявно вызвать BaseForm :(

Есть ли способ, чтобы сделать это в общем?

+0

вот некоторые большие ресурсы по настройке Custo m formatters: http://dark-it.blogspot.com/2009/01/symfony-mark-fields-as-required.html http://erisds.co.uk/symfony/snippet-symfony-forms- definition-list-form-formatter http://snippets.symfony-project.org/snippet/305 – Prasad

ответ

2

Все доктрина форма простирается от BaseFormDoctrine вы можете поместить его в способе установки.

Убедитесь, что если вы перегружать установку() где-либо еще назвать сам :: родителя()

+0

Спасибо тонну! Это работает! все BaseModelForms расширяют BaseFormDoctrine и вызывают parent :: setup() в своей настройке(), поэтому ваше решение является безупречным, если я не переопределяю setup() в моей форме! Для моего понимания, можете ли вы помочь мне в случае, когда требуется переопределение настроек()? для меня, большая часть материала получается в методе configure() – Prasad

+0

Я считаю, что идея состоит в том, что настройка всегда должна вызывать настройку ее родителя. configure никогда не должен вызывать родительскую настройку. Вы настраиваете «стек», тогда вы настраиваете свой класс ... ну, вот как я смотрю на него. – johnwards

Смежные вопросы