- Accueil
- Info légales
- Aide (FAQ)
- Les tags de ce site
- Bloc note
- Articles techniques
- Notes system
- Divers articles
- Drupal
- Notes ITIL 2007
- Notes MS
- Dans le quartier...
- Emploi
- Recettes de cuisine et adresses gourmandes
- mes applis ubuntu préferées
- Divers acronymes du monde social
- Internet 2018
- P2 meublé à louer - quartier du Poteau 75018
- apcos - réseaux sociaux et outils
- Articles techniques
- Divers liens
- Fun
- Mon CV IT
- Nouveautés
Module summary : themer le contenu
Dans le module Summary, vous avez inséré quelques balises HTML directement dans le code PHP (balise H3 pour les titres). Dans cette section, vous permettrez aux créateurs de thèmes de modifier l'apparence du contenu de votre module.
La fonction theme_table prend en paramètre un tableau qui contient lui-même deux tableaux. Le premier doit contenir les en-têtes (header), le second les lignes (rows).
Voici comment implémenter cette fonction pour le nombre de nodes par type :
$
result
=
db_query($
query
);
$
header
=
array (t('
Node
type
'
),
'
#
'
);
while ($
row
=
$result
->fetchAssoc
()) {
$
rows
[
]
=
$
row
;
}
$
table
=
theme('
table
'
,
array ('
header
'
=
>
$
header
,
'
rows
'
=
>
$
rows
));
$
summary_node_count_type
=
t('
<h3>Number
of
nodes
per
type</h3>
'
).
$
table
;
Pour cela, votre module doit implémenter la hook hook_theme() qui prend en paramètre la liste des fonctions de thème du module. Il faut préciser les paramètres qu'aura chaque fonction. Ici, vous avez besoin du titre de la section et de son contenu.
/**
*
Implements
hook_theme.
*/
function summary_theme () {
$
functions
=
array(
'
summary_paragraph
'
=
>
array (
'
variables
'
=
>
array('
title
'
=
>
NULL,
'
content
'
=
>
NULL)
)
);
return $
functions
;
}
Il faut maintenant fournir une fonction par défaut dans le module au cas où le thème actif ne surcharge pas la fonction de thème. Cette fonction affiche uniquement le titre dans une balise <h4> et le contenu dans une balise <p>
/**
*
Fonction
de
thème
par
défaut
*/
function theme_summary_paragraph($
variables
) {
$
output
=
'
<h4>
'
.
$
variable
[
'
title
'
]
.
'
</h4>
'
;
$
output
.
=
'
<p>
'
.
$
variable
[
'
content
'
]
.
'
</p>
'
;
return $
output
;
}
Vous utiliserez votre fonction dans le module pour présenter vos paragraphes. Il suffit de passer en paramètre les deux chaînes composants le titre et le contenu dans un tableau associatif :
$
title
=
variable_get('
summary_content_types
'
,
t('
Content
types
'
));
$
content
=
implode($
summary_node_types_list
,
'
,
'
);
$
summary_node_types_list
=
theme('
summary_paragraph
'
,
array('
title
'
=
>
$
title
,
'
content
'
=
>
$
content
));
....
Doc tek:
Fichier attaché | Taille |
---|---|
summary0.zip_.txt | 6.62 Ko |