Доступ к исходным нетрансформированным данным после применения DataTransformer? - PullRequest
0 голосов
/ 26 марта 2012

Можно ли получить исходный тип данных после применения ArrayToStringTransformer к полю формы? Я не могу найти никакой помощи в документации Symfony2 здесь .

То есть мне нужен исходный тип данных array в моем шаблоне Twing. {{ 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);
    }
}

1 Ответ

2 голосов
/ 26 марта 2012

Неа. Преобразованное значение - это то, что в итоге передается в ваш шаблон как часть формы. Я полагаю, вы могли бы явно передать оригинальные теги непосредственно в ваш шаблон.

...