我正在尝试将jscolor添加到输入字段中,但它对我不起作用!
在配置功能中:
public function configure() {
unset($this['created_at'],$this['clicks']);
$this->widgetSchema['background_color']->sfWidgetFormInput('class'=> 'jscolor');
}
我还尝试在BaseForm中添加以下内容:
$this->setWidgets(array(
'id' => new sfWidgetFormInputHidden(),
'background_color' => new sfWidgetFormInput(array('class'=> 'jscolor')),
'url_link' => new sfWidgetFormInput(),
'status' => new sfWidgetFormInput(),
));
错误:sfWidgetFormInput 函数中不允许类!
我想添加一个类 jscolor!如何通过 JavaScript 或使用此配置添加它?
一个sfWidgetFormInput
(实际上,任何 symfony1 小部件(需要 2 个参数 - $options
和 $attributes
。 您将类作为选项而不是属性传递。在模板中调用 render()
时添加 class 属性是一种选择,但我可能会选择(在大多数情况下(在配置方法中设置表单时执行此操作
public function configure() {
unset($this['created_at'], $this['clicks']);
$this->setWidget('background_color', new sfWidgetFormInput(array(), array('class'=> 'jscolor'));
// or to be a bit more minimalistic:
$this->getWidget('background_color')->setAttribute('class','jscolor');
}
baseForm 可能是自动生成的,我强烈建议不要修改它。
在模板中的表单元素呈现为:
<?php echo $form['background_color']->render(array('class' => 'jscolor')); ?>