Personnalisation block.tpl.php : module Agenda

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

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

Forum : 
Version de Drupal : 

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 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 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 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 :)