本文整理匯總了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();
}