- Ymox,
Bonjour à tous !
Aujourd'hui, j'ai décidé de mettre en pratique quelques idées que j'avais eues pour pouvoir enregistrer des durées sous forme d'entiers en base de données — c'est plus pratique pour faire des sommes par la suite.
Dans l'idée, je vais fournir un type qui étend Time afin d'avoir les widgets proposés nativement, et j'ajoute un ViewTransformer.
Tout ça dans ma tête avait l'air très bien et relativement simple. Ajouter à cela la documentation, et je ponds mon DataTransformer, mon type, la déclaration de ce dernier comme service (pour pouvoir injecter des paramètres, sinon j'aurais utilisé un simple CallbackTransformer).
Maintenant, une partie de ce travail correspond à la création d'un type personnalisé, dont j'ai suivi les instructions aussi. Voici notamment ce que j'aimerais relever.
Si je comprends bien, du moment que j'ai la méthode getParent() { return TimeType::class; }
, les champs de mon nouveau type devraient être rendus comme s'il s'agissait de champs TimeType
.
Or ce n'est pas le cas : Symfony / Twig tente apparemment de trouver des blocs particuliers.
Outre le fait qu'il cherche apparemment deux fois le même bloc (qui n'existe effectivement pas), il me cherche un bloc du nom du champ lié à l'endroit où j'utilise mon DurationType.
J'ai bien fait attention à ne pas surcharger plus de méthodes que nécessaire pour hériter du comportement de TimeType.
Est-ce que quelqu'un a déjà tenté quelque chose de similaire et avec succès, et serait prêt à me dire ce que je pourrais avoir oublié ?
Merci