Je suis nouveau à Drupal et je travaille sur la création de mon propre thème pour notre module personnalisé. Quelqu'un peut-il s'il vous plaît m'aider à comprendre comment enregistrer nos fonctions de thème ou partager des idées ou des liens qui explique le processus à partir de zéro.Enregistrez vos fonctions de thème dans Drupal
Répondre
Enregistrer une fonction de thème signifie implémenter hook_theme dans votre module. Par exemple, si votre module est appelé "example
", vous devez avoir une fonction appelée example_theme
dans le fichier example.module
. La fonction de thème doit retourner un tableau ou vous allez vous retrouver avec le fameux écran blanc de la mort.
En example.module:
<?php
// $Id$
// Implements hook_theme
function example_theme(){
return array(
'mydata' => array(
// Optionally, you can make the theme use a template file:
// this line references the file "mydatafile.tpl.php" in the same folder as the module or in the folder of the active theme
'template' => 'mydatafile',
// these variables will appear in the template as $var1 and $var2
'arguments' => array(
'var1' => null,
'var2' => null,
),
),
'myotherdata' => array(
// these variables will appear in the functions as the first and second arguments
'arguments' => array(
'var1' => null,
'var2' => null,
),
)
);
}
// If you don't want to use a template file, use a function called "theme_THEID" to create the HTML.
function theme_myotherdata($var1, $var2){
return "<div>var1= $var1 and var2= $var2</div>";
}
En mydatafile.tpl.php:
<div>mydatafile.tpl.php was called</div>
<ol>
<li>var1: <?php echo $var1; ?></li>
<li>var2: <?php echo $var2; ?></li>
</ol>
Vous pouvez le n appeler plus tard la fonction de thème manuellement si nécessaire:
$html = theme('mydata', 'hello world', 123);
$html = theme('myotherdata', 'hello world', 123);
Dans ce cas, « mydatafile.tpl.php » et « theme_myotherdata » recevra la valeur « Bonjour tout le monde » en $ var1 et la valeur 123 $ var2.
Il y a many more options, comme changer le nom de la fonction, en utilisant des modèles au lieu d'un nom fixe, étant en mesure d'avoir la fonction dans un autre fichier php ou tel, consultez le lien.
Voici quelques plus de ressources sur thématisation:
- Le theme guide
- Overriding themable output
- Le Devel module
- Le module Theme developer (nécessite le module Devel)
- un longuer example that also creates a form/page utiliser le thème Fonction
Par ailleurs, vous devrez reconstruire le cache du registre thématique si vous ajoutez les fonctions dans le fichier .module après qu'il a été installé, dans ce cas, vous pouvez le faire en effaçant le cache (un moyen consiste à utiliser le bouton en bas de la page Performances).
NOTE: (. Ex modifications 'arguments' à 'variables') syntaxe légèrement différente avec Drupal 7
Pourquoi n'avez-vous pas modifié la réponse au lieu d'en ajouter une nouvelle? – Pere
- 1. vues Drupal sortie thème
- 2. Fonction de thème dans Drupal 6
- 3. Contenu Top Drupal Thème
- 4. Fichiers de thème Drupal en dehors du dossier de thème
- 5. Flux de travail des fonctions du thème Drupal dans le module
- 6. Récupérer le thème Drupal actuel?
- 7. Multi-Site Drupal, structuration de thème et thème Zen
- 8. drupal formulaire override thème fonction
- 9. Comment structurez-vous vos fonctions de comparaison?
- 10. forme de thème sur drupal 6
- 11. Les fonctionnalités de Drupal incluent Thème
- 12. Créez vos propres tags/fonctions avec Erubis
- 13. Vues Drupal - Thème personnalisé pour un champ
- 14. en prenant soin des dépendances dans vos fonctions
- 15. Utilisation d'un thème Drupal dans une application Web PHP autonome
- 16. Comment créer un nouveau thème dans drupal 7
- 17. fonctions de validation de formulaire Drupal
- 18. Formulaire de thème de recherche Drupal - Changer le type d'entrée?
- 19. Le formulaire de contact Drupal n'affiche pas de thème
- 20. La fonction de thème Drupal n'est pas surchargée
- 21. Drupal sur le thème de l'affichage d'une vue
- 22. Supprimer l'arrière-plan en excès de thème personnalisé Drupal
- 23. fonctions, plug-in, et portée de thème mu wordpress
- 24. fonctions crochet drupal et leurs arguments
- 25. 6 ----- pourquoi drupal thème() ne peut pas émettre
- 26. quelles sont les constantes globales et les fonctions disponibles dans drupal
- 27. La page d'opération Drupal Batch échoue avec mon thème
- 28. À quelle fréquence déclarez-vous vos fonctions comme const?
- 29. Drupal 6: Comment ajouter une nouvelle région à un thème
- 30. Thème Drupal - Différents thèmes pour chaque formulaire Web
Le bit Themer de devel a maintenant son propre module, je pense. – CurtainDog