Je voudrais écrire un nouveau formateur de champ pour un type de champ existant. Je ne veux pas remplacer de formateurs existants mais proposer une nouvelle option.
Ou suis-je mieux d'utiliser un theme_preprocess_field () pour effectuer des modifications mineures? Mais cela semble plus difficile à maintenir et je voudrais garder mes options d'éditeurs de contenu ouvertes (et dans l'interface graphique).
Quelqu'un peut-il me montrer un exemple de la bonne façon de procéder?
vous pouvez développer un module personnalisé ou utiliser le module "Formateurs personnalisés".
Dans le premier cas , vous devez écrire un module qui implémente quelques Drupal 7 crochets:
hook_field_formatter_info()
,hook_field_formatter_view()
ethook_theme()
.hook_field_formatter_info()
Est utilisé pour déclarer le type de formateur. Cette fonction renvoie un tableau avec la description du formateur. La clé sera le nom du formateur et elle aura un tableau avec l'étiquette et les types de champs. Après vous devez implémenterhook_field_formatter_view()
ethook_theme()
afin de définir le modèle. Vous pouvez trouver plus de détails sur l' API F ield Formatter dans la documentation .Dans le second cas , vous pouvez utiliser personnalisée Formateurs module qui permet de créer formatteurs d'affichage personnalisés pour chaque champ. Avec ce module, vous pouvez créer le formateur en utilisant du code PHP personnalisé ou du code HTML avec des jetons.
Je suggère la deuxième voie car elle est très simple à utiliser et à configurer.
la source