0
ArrayToStringTransformer
をフォームフィールドに適用した後に元のデータタイプを取得することは可能でしょうか? Symfony2のドキュメントhereで助けを見つけることができません。DataTransformerを適用した後の元の非変換データへのアクセス?
つまり、Twingテンプレートに元のarray
データ型が必要です。 {{ value }}
には既に変換されたデータのみが含まれます。
class SMSType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('recipient', 'text', array('property_path' => false));
->add('tags', 'text');
$builder->get('tags')
->appendClientTransformer(new ArrayToStringTransformer());
}
public function getDefaultOptions(array $options)
{
return array('required' => false);
}
public function getName() { return 'sms'; }
}
変換だけで配列が/破を爆発です:
class ArrayToStringTransformer implements DataTransformerInterface
{
public function transform($val)
{
if (null === $val) return '';
return implode(',', $val);
}
public function reverseTransform($val)
{
if (!$val) return null;
return explode(',', $val);
}
}