Accéder directement à la forme du champ de valeur lors du remplacement d'un widget dans un template twig

Ce que je veux faire est d'obtenir les variables stockées en mode formulaire.

{% form_theme edit_form _self %}

{% block field_widget %}
{% spaceless %}
{% set type = type|default('text') %}
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}/>

{# MY CODE #}
{% if type == "file" %}
<a class="BOpreview" href="{# NEED TO REPLACE VAR HERE #}">Aperçu</a>
{% endif %}

{# MY ATTEMPT #}
{{ form.title.get('value') }}
{{ form.vars.value.url }}

{% endspaceless %}
{% endblock field_widget %}

Mon formulaire a des propriétés comme l'url, le titre, etc et je suis en train d'y accéder ici pour l'utiliser dans le domaine widget bloc.

J'ai cherché et suis tombé sur https://groups.google.com/forum/?fromgroups=#!sujet/symfony2/onor9uFte9E que suggéré:

{{ form.title.get('value') }}
{{ form.vars.value.url }}

qui n'a pas fonctionné pour moi.

Remarque: Si je fais un var_dump sur $form->createView() dans mon contrôleur, je reçois:

    object(Symfony\Component\Form\FormView)[331]
private 'vars' => 
array (size=15)
'value' => 
object(Panasonic\TestEtAvisBundle\Entity\Product)[168]
protected 'reviewArray' => 
object(Doctrine\ORM\PersistentCollection)[234]
...
protected 'testArray' => 
object(Doctrine\ORM\PersistentCollection)[221]
...
protected 'fbshareArray' => 
object(Doctrine\ORM\PersistentCollection)[317]
...
private 'id' => int 2
private 'name' => string 'Nom du produit' (length=14)
private 'title' => string '<span>Titre </span>' (length=19)
private 'image' => string 'bundles/testetavis/uploads/product/0d9d9550.png' (length=47)
private 'fbImage' => string 'bundles/testetavis/uploads/product/facebook//product_e928cd96.jpg' (length=65)
private 'description' => string '<span>Descriptif </span>' (length=24)
private 'url' => string 'http://www.google.com' (length=21)
private 'creationDate' => 
object(DateTime)[210]
...
private 'modificationDate' => 
object(DateTime)[209]
...
private 'isDeleted' => int 0
'attr' => 
array (size=0)
empty
'form' => 
&object(Symfony\Component\Form\FormView)[331]
'id' => string 'panasonic_testetavisbundle_producttype' (length=38)
'name' => string 'panasonic_testetavisbundle_producttype' (length=38)
'full_name' => string 'panasonic_testetavisbundle_producttype' (length=38)

Je veux accéder à cette url par exemple, mais ne pouvez pas semblent être en mesure de le faire après de nombreuses variations. Y compris l'utilisation de {{ value }}, {{ valeur.url }}
Mais en dépit de vars, je peux faire {{ full_name }} et obtenir panasonic_testetavisbundle_producttype.

Des idées?

Edit2: j'ai découvert le vrai problème...

Edit3: de Voir que cette question est très populaire, j'ai décidé de clarifier ce que j'ai tenté de faire dans le cas où il permet à quelqu'un dans la même situation. Si vous vous fiez uniquement de la question demande, comme je l'ai dit au cours de ma recherche et que Besnik pris en charge sont en effet correcte.
Maintenant ce que je voulais faire pour chaque type d'entrée de fichier, obtenir l'url de l'objet utilisé pour le rendu de formulaire et d'ajouter un lien aperçu, à l'aide de récupéré l'url, à côté de l'entrée de type de fichier.
Si vous essayez d'obtenir la forme de la var d'un type d'entrée "fichier" comme ceci "{{ formulaire.vars.de la valeur.url }}" dans mon code, cela ne marche pas puisque, si je me souviens correctement, vous recevez un jeton au lieu de l'url stockée à l'intérieur de l'objet.

InformationsquelleAutor Rishi | 2012-09-19