Submitted by vieux grincheux on
Je désire personnaliser l'affichage du bloc Agenda (agenda-block.tpl.php) en créant un fichier block-agenda-2.tpl.php. Dans sa version standard le module Agenda fonctionne très bien.
Pour ce faire, et avant de personnaliser mon template, j'ai voulu tester la mise en oeuvre de cette possibilité offerte par Drupal. J'ai donc dupliqué le fichier original "agenda-block.tpl.php" en "block-agenda-2.tpl.php". j'ai ensuite copié ces deux fichiers dans le répertoire de mon thème (/sites/all/themes/mix_and_match) suivant les indications trouvées sur le web.
Le "block-agenda-2.tpl.php" est bien pris en compte mais le block ne s'affiche plus car j'ai une erreur php :
"warning: Invalid argument supplied for foreach() in D:\wamp_server\www\drupal-6\sites\all\themes\mix_and_match\block-agenda-2.tpl.php on line 37."
Il semble que les variables ne soient pas reconnues (
<?php
foreach ($events as $day):
?>
)
Questions :
Y-a-t-il quelque chose de plus à effectuer pour que cela fonctionne ?
Le module Agenda a-t-il une construction incompatible avec la personnalisation des tpl ?
Merci de vos contributions passées et à venir
module Agenda : http://drupal.org/project/agenda
Bonjour, As-tu été modifier
Permalien Soumis par Aya le 27 Avril, 2011 - 13:15
Bonjour,
As-tu été modifier le fichier agenda.module également pour que tout ton template soit pris en compte ?
Il y a des chose en ligne 186 et 140.
Cordialement, Aya
il ne faut surtout pas qu’il
Permalien Soumis par nyl auster le 27 Avril, 2011 - 13:35
il ne faut surtout pas qu'il modifie agenda.module si il souhaite pouvoir continuer à mettre à jour son module...
Bonjour Aya et merci de ta
Permalien Soumis par vieux grincheux le 29 Avril, 2011 - 17:21
Bonjour Aya et merci de ta réponse. Je n'ai en rien touché à agenda.module, mon objectif étant justement de ne pas toucher aux objets livrés en standard.
J'ai néanmoins effectuer le test en remplaçant aux lignes indiquées la valeur "agenda-block' par 'block-agenda-2' mais cela ne fonctionne toujours pas (même erreur).
heuuuuuuuuuu :/ je ne vois
Permalien Soumis par benfarhat le 29 Avril, 2011 - 22:14
heuuuuuuuuuu :/
je ne vois pas pourquoi tu rajoute le petit "2" en fin de fichier tu renomme ce fichier et donc tu le fait sortir de la classe des thèmes de suggestion
le principe de la surcharge et de prendre un fichier de suggestion tel qu'il est, en l'occurrence dans ton cas c'est agenda-block.tpl.php
ainsi, dans ton répertoire
D:\wamp_server\www\drupal-6\sites\all\themes\mix_and_match
tu changes le nom du fichier block-agenda-2.tpl.php en agenda-block.tpl.php
Essai d'abord ca :)
bonne continuation
Bonjour benfarhat, merci de
Permalien Soumis par vieux grincheux le 1 Mai, 2011 - 08:58
Bonjour benfarhat,
merci de ton aide
J'ai essayé avec le nom d'origine (agnda.block.tpl.php) mais celui-ci n'est même pas pris en compte. J'ai suivi les instructions trouvées sur le web concernant les suggestions de modèle de mise en page pris en compte par Drupal, soit dans mon cas :
"block-module-bid.tpl.php"
module étant le nom du module (agenda) et bid (2), l'id interne attribué au bloc par le module.
Celui-ci est pris en compte mais j'ai une erreur à l'exécution (sujet de mon post)
Bonjour, Il y a une petite
Permalien Soumis par Ralt le 13 Juillet, 2011 - 11:17
Bonjour,
Il y a une petite confusion dans la construction de vos .tpl.php !
Si vous voulez supplanter agenda-block.tpl.php, vous devez copier ce fichier dans le dossier de votre thème (sans le renommer). La variable $events sera alors disponible à l'aide du preprocess.
Si vous voulez avoir un fichier du type block-agenda.tpl.php, vous devez copier le fichier block.tpl.php ! Les variables disponibles dans block.tpl.php le seront dans block-agenda.tpl.php, mais celles d'agenda-block.tpl.php ne sont pas disponibles, d'où l'erreur PHP.
J'espère avoir été clair :)