假设数据库中有image_url
列。
我希望用户从几个推荐的图像中进行选择,如下所示:
<input type="radio" value="domain.com/path_to_img1" name="image_url" />
<img src="domain.com/path_to_img1" />
<input type="radio" value="domain.com/path_to_img2" name="image_url" />
<img src="domain.com/path_to_img2" />
图像网址即时生成。
如何通过sfForm
在symfony风格中执行此操作?
我试过了:
$form->widgetSchema['key'] = new sfWidgetFormSelect(...)
但得到一个致命的错误:
无法访问受保护的属性
但是这样做的确切方法是什么?
答案 0 :(得分:2)
好吧,标准方法是编写一个小部件。
在你的具体案例中,你似乎真的想要做出选择,对吗?因此,您必须实现另一个sfWidgetFormChoice
渲染器。为此,请继承sfWidgetFormSelectRadio
(让我们称之为sfWidgetFormSelectRadioImage
)以了解它们将标签呈现为<img>
标记。然后明确地要求sfWidgetFormChoice
使用sfWidgetFormSelectRadioImage
类呈现自己,这应该是全部。
答案 1 :(得分:0)
在表单配置中插入以下内容:
$this->widgetSchema['choices'] = new sfWidgetFormChoice (array('choices' => $custom_values_array));