Symfony 1.4:打印出单个复选框

时间:2014-06-01 19:13:25

标签: symfony-1.4 symfony-forms

我有以下表单元素,它会生成一个复选框:

 $deliveryLocationChoices    = array( '0' => 'Select if Applicable',
                                       'front'    => 'Front',
                                       'rear'     => 'Rear',
                                       'left'     => 'Left Side',
                                       'right'    => 'Right Side');

 $this->setWidgets(array(
      'delivery_location'   => new sfWidgetFormChoice(array('choices' => $deliveryLocationChoices  )),
 ));

很有用,除了我想要打印每个复选框项目。原因是我需要自定义每个盒子的位置。

由于

1 个答案:

答案 0 :(得分:3)

您可以通过将renderer_options参数传递给新的sfWidgetFormChoice来覆盖复选框的显示方式。

看起来像这样

$this->setWidgets(array(
  'delivery_location'   => new sfWidgetFormChoice(array('choices' => $deliveryLocationChoices, 'renderer_options' => array('formatter' => array($this, 'checkboxFormatter')))),
));

然后,在您的表单类中,定义函数' checkboxFormatter'像这样

public static function checkboxFormatter($widget, $inputs) {}

这样您就可以通过$ inputs var访问您的复选框了。您必须在checkboxFormatter函数的末尾返回显示结果。