私のアプリは実行中ですが、次のようなカスタム Form-Field-Type (shtumi_daterange) を使用すると:
public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array $options)
{
$dateRange4 = new DateRange('m/d/Y');
$dateRange4->parseData('03/27/2012 - 04/05/2012');
$builder->add('builddate', "shtumi_daterange", array('required'=>false, 'default'=>$dateRange4));
}
このエラーが発生します:
Uncaught exception 'Symfony\Component\Form\Exception\FormException' with
message 'Could not load type "shtumi_daterange"' in
../vendor/symfony/form/Symfony/Component/Form/FormRegistry.php:95
私は、次のようなものが必要だと思います:
<?php
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => $path_ext_dir_abs . '/views',
'twig.form.templates' => array('form_div_layout_custom.html.twig'),
'form.type.shtumi_daterange' => 'Shtumi\UsefulBundle\Form\Type\DateRangeType',
));
しかし、正しい構文がわからない/見つからないだけです!
symfonyのドキュメント から、カスタム フォーム フィールド タイプを登録する方法の例を見つけましたが、これを変換して silex で実行することはできません。
services:
form.type.gender:
class: Acme\DemoBundle\Form\Type\GenderType
arguments:
- "%genders%"
tags:
- { name: form.type, alias: gender }