Если вы используете генератор генератора, как вы указали, вы можете редактировать свои формы через файл generator.yml.С помощью этого файла вы можете делать любое количество вещей, включая указание, какие виджеты вы хотите отображать, порядок ввода, действия и т. Д.
Файл generator.yml находится в / apps / app_name / modules / module_name /config
Подробнее об этом вы можете прочитать в symfony docs .
- Правка -
Если вы не используете файл generator.yml, вы можете редактировать класс формы напрямую, прочитайте эту статью, касающуюся форм Symfony длябольше информации.
Пример работы с виджетом:
//-----
//Remove Unwanted
//-----
unset(
$this['created_at'],
$this['updated_at'],
$this['ingredient_list'] //Will be embedded due to extra meta data
);
//-----
// Add a select menu using model to populate values
$this->widgetSchema['state_list'] = new sfWidgetFormPropelChoice(array('model' => 'State', 'multiple' => true, 'order_by' => array('name', 'asc')));
// Add matching validator
$this->validatorSchema['state_list'] = new sfValidatorPropelChoice(array('model' => 'State', 'column' => 'id', 'multiple' => true));
// I can also force widget presentation order
$this->getWidgetSchema()->moveField('country_list', sfWidgetFormSchema::AFTER, 'state_list');
// You can also add a callback function when the form is submitted
$this->validatorSchema->setPostValidator(
new sfValidatorCallback(array('callback' => array($this, 'dupeCheck')))
);