2012-01-06 4 views
6

У меня есть класс ParamterValue, который ссылается на класс ParamterDefinition, по свойству ParamterValue-> paramDef. Я создал ParamerValueType для создания формы.Как получить доступ к базовому объекту из FormView Twig в шаблоне?

Как я могу получить доступ к объекту ParamterValue-> paramDef в шаблоне? Мне просто нужно это для некоторой логики при рендеринге формы, мне фактически не нужно отображать ParameterDefinition, поэтому я не включаю поле формы paramDef в ParamterValueType. Даже если бы я хотел, как я мог получить доступ к объекту underling из поля вида формы?

Таким образом, общая ситуация выглядит так: у меня есть объект, который я хочу создать из формы, этот объект имеет ссылку на другой объект, у которого есть данные, необходимые для визуализации формы (но я не нужен виджет для него, просто некоторые данные для выполнения логики). Нужно ли включать этот ссылочный объект в ParamterValueType для доступа к нему или нет?

ответ

0

Я не совсем понял, что вы пытаетесь сделать, но я думаю, что создание расширения формы или использование глобальных варов приведет вас туда.

Посмотрите на

http://toni.uebernickel.info/2011/11/25/how-to-extend-form-fields-in-symfony2.html

, чтобы узнать о расширениях форм и

http://blogsh.de/2012/01/04/how-to-write-host-aware-twig-templates-in-symfony/

, чтобы узнать о глобальном Варсе.

22

Вы можете, как правило, просто сделать

{{ form.vars.data.paramDef }} 

На самом деле, это работает только по состоянию на Symfony 2.1.