我创建了一个自定义表单字段下拉列表,用于按年份过滤。我想做的一件事是允许用户按所有年份过滤,这是默认选项。我将其添加为empty_value
. 但是,当我呈现表单时,它默认在第一个不是空值的项目上。空值就在那里,就在列表的上方。当页面最初加载时,如何使页面默认为“全部”?代码如下。
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class YearType extends AbstractType
{
private $yearChoices;
public function __construct()
{
$thisYear = date('Y');
$startYear = '2012';
$this->yearChoices = range($thisYear, $startYear);
}
public function getDefaultOptions(array $options)
{
return array(
'empty_value' => 'All',
'choices' => $this->yearChoices,
);
}
public function getParent(array $options)
{
return 'choice';
}
public function getName()
{
return 'year';
}
}
我正在用简单的树枝渲染我的表格{{ form_widget(filter_form) }}