1
早上好,定製佈局sfWidgetFormDoctrineChoice禁用複選框
在Symfony的1.4,
我試圖做的是在這裏解釋:Customizing layout to sfWidgetFormDoctrineChoice
但它不工作。而不是添加縮略圖,我只想在輸入之前隱藏<li>
,並且在某些情況下禁用/隱藏複選框輸入,但仍然顯示標籤。
當我添加無參數的渲染,我得到這個錯誤:
sfWidgetFormMySelectCheckbox requires the following options: 'choices'.
這裏是我的格式化代碼:
class sfWidgetFormMySelectCheckbox extends sfWidgetFormSelectCheckbox
{
public function configure($options = array(), $arguments = array())
{
parent::configure($options, $arguments);
}
protected function formatChoices($name, $value, $choices, $attributes)
{
.....
// new
$inputs[$id] = array(
'input' => sprintf('| test | %s',
$this->renderTag('input', array_merge($baseAttributes, $attributes))
),
'label' => $this->renderContentTag('label', self::escapeOnce($option), array('for' => $id)),
);
}
return call_user_func($this->getOption('formatter'), $this, $inputs);
}
}
而現在,我把它叫做形式:
$this->setWidget('aaa', new sfWidgetFormDoctrineChoice(array(
'model' => 'Aaa',
'expanded' => true,
'multiple' => true,
'add_empty' => false,
'query' => $query,
'renderer' => new sfWidgetFormMySelectCheckbox()
)));
感謝您的幫助!
謝謝你的回答。 – Franck