Permettre le rendu des custom field sans avoir l'objet `Chill\CustomFieldsBundle\Entity\CustomField`
Actuellement, il existe une fonction twig chill_custom_field_widget(fields, customField, documentType = "html")
qui permet le rendu des custom fields en html.
Cependant, la signature de la fonction est celle-ci (en php) : public function renderWidget(array $fields, CustomField $customField, $documentType='html')
Or, il se trouve que dans certaines situations, on ne possède pas l'objet $customField
dans twig. C'est le cas, par exemple, lorsqu'on affiche la liste des personnes sur la page d'accueil.
C'est gênant parce que ça ne permet pas de personnaliser les instances et l'affichage en connaissant, par exemple, le slug du customfield.
Ma proposition est de changer la signature de la fonction de manière à permettre un rendu avec le slug
du customfield, qui deviendrait ceci :
public function renderWidget(array $fields, $customFieldOrSlug, $documentType='html')
Et dans twig, on pourrait utiliser comme ça (ici pour une Chill\PersonBundle\Entity\Person
) :
chill_custom_field_widget(person.cfData, 'slug-of-custom-field')
En arrière plan, dans la fonction twig, on ferait une requête pour obtenir l'élément customField dans la DB si c'est le slug qui est passé. Sinon, on utiliserait l'objet CustomField passé en référence.