Question

Quelqu'un a des idées sur la façon dont je pourrais intégrer une région dans un fichier .tpl.php?

Je l'accomplisse assez facilement dans un nœud .tpl.php en ajoutant quelque chose comme ça à theme_preproces_node():

$vars['promos'] = theme('blocks', 'promos');

Aucun problème du tout. Cependant, il n'y a évidemment pas de theme_preprocess_view() fonction, et j'obtiens des erreurs de mémoire lorsque j'essaie d'ajouter le même extrait theme_preprocess().

Erreur mortelle: taille de mémoire autorisée de 104857600 octets épuisée (essayé d'allouer 523800 octets) dans /users/cpharmston/sites/projects/threespot/neh01/includes/database.mysqli.inc en ligne 42

Je suis perplexe. Des idées?

Merci!

Était-ce utile?

La solution

La manière «rapide et sale»: Tu pourrais juste mettre le theme('blocks', [region_name]) Appelez directement dans les vues .tpl.php Fichier.

Bien que les fonctions de prétraitement visent à une meilleure séparation de la logique «Business» par rapport à la logique «afficher», elles ne sont en aucune façon requises, vous pouvez donc toujours mettre du code personnalisé dans un fichier .tpl.php comme vous le souhaitez.

'Bonne façon:sommes Fonctions de prétraitement pour les vues, un peu plus d'un. Jetez un œil au fichier thème.inc du module Views. Là, vous trouverez différentes fonctions de prétraitement pour les différents modèles éventuellement utilisés par une vue (par exemple «non formaté« vs «table» contre «liste», etc.). Il vous suffit de trouver celui pertinent pour le modèle de vue que vous souhaitez injecter la nouvelle variable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top