年でフィルタリングするためのカスタム フォーム フィールド ドロップダウン リストを作成しました。私がやりたいことの 1 つは、ユーザーがすべての年でフィルタリングできるようにすることです。これはデフォルトのオプションです。として追加してい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) }}