comment dois-je appeler mon thème prétraiter fonction d'un champ spécifique?
je suis sur Drupal 7 et j'ai aspecific tpl.php le fichier de contenu field_image: "field--field_image.tpl.php". J'ai besoin de créer un prétraitement de la fonction de ce domaine et de mon thème.
En supposant que mon nom de thème est "Mon Thème"
Il devrait ressembler à
function my_theme_preprocess_field(&$variables, $hook) {
$variables['classes_array'][] = 'aClassName';
}
mais ça ne fonctionne pas. Je suis dans l'erreur. Mais où?
Grâce
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
template_preprocess_field()
(comme vous le faites dans votre code ci-dessus), mais il suffit de tester le domaine qui est le droit pour vous:Une fois que vous avez mis en œuvre le crochet n'oubliez pas de vider vos caches, crochet implémentations sont mis en cache dans Drupal 7 ne sera donc pas choisi jusqu'à ce que le cache est effacé.
drupal_set_message('TEST');
en haut de la fonction et de l'actualisation de la page, une couple de fois, si vous ne voyez pas le "TEST" message puis le crochet n'est pas appelé. Si c'est le cas, alors le mieux que vous pouvez faire est de désactivé le thème et de le ré-activer pour voir si Drupal prend ensuite le crochet. De l'intérêt avez-vous d'autres prétraiter/crochet fonctions avec celle-ci dans votretemplate.php
fichier?Vous pouvez déclarer un
mytheme_preprocess_field(&$variables, $hook)
dans votre thème template.php où vous pouvez vérifier votre domaine et d'effectuer des opérations sur son étiquette ou de balisage, ajouter des classes, quoi que ce soit. Si vous n'avez pas besoin de champ spécifique npt. - eg.Espère que cela aide quelqu'un.
Dans drupal 7, vous pouvez réécrire la sortie du champ dans template_preprocess_node() en modifiant "#markup" valeur du champ.
Vous pouvez également utiliser les regexp pour changer ce que vous voulez dans le contenu de la page 🙂