本文整理汇总了PHP中BaseForm::setWidget方法的典型用法代码示例。如果您正苦于以下问题:PHP BaseForm::setWidget方法的具体用法?PHP BaseForm::setWidget怎么用?PHP BaseForm::setWidget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseForm
的用法示例。
在下文中一共展示了BaseForm::setWidget方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setup
/**
* Overridden to allow the app to add to the form and then to process
* those additions and turn them into one giant, embedded form
*/
public function setup()
{
// allow the application to add fields to the form
self::$dispatcher->notify(new sfEvent($this, 'sympal.load_config_form'));
$otherSettings = array();
foreach ($this->_settings as $group => $settings) {
if (!is_numeric($group)) {
$form = new BaseForm();
foreach ($settings as $setting) {
$form->setWidget($setting['name'], $setting['widget']);
$form->getWidgetSchema()->setLabel($setting['name'], $setting['label']);
$form->setValidator($setting['name'], $setting['validator']);
}
$this->embedForm($group, $form);
} else {
$otherSettings[] = $settings;
}
}
foreach ($otherSettings as $setting) {
$this->setWidget($setting['name'], $setting['widget']);
$this->getWidgetSchema()->setLabel($setting['name'], $setting['label']);
$this->setValidator($setting['name'], $setting['validator']);
}
$defaults = $this->getDefaults();
foreach ($this as $key => $value) {
if ($value instanceof sfFormFieldSchema) {
foreach ($value as $k => $v) {
$defaults[$key][$k] = sfSympalConfig::get($key, $k);
}
} else {
$defaults[$key] = sfSympalConfig::get($key);
}
}
$this->setDefaults($defaults);
$this->widgetSchema->setNameFormat('settings[%s]');
$this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
parent::setup();
}