将ArrayToStringTransformer
应用到表单字段后,是否可以获取原始数据类型?我在Symfony2文档here中找不到任何帮助。
也就是说,我需要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);
}
}
答案 0 :(得分:2)
不。转换后的值最终会作为表单的一部分传递给您的模板。我想你可以直接将原始标签直接传递给你的模板。