- 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
Notes du livre "Definitive Guide to Drupal 7"
Sur les views.
Ch 15 theming
Global Template Variables
Variable | Description |
$is_admin |
TRUE si le user logué est admin, FALSE sinon. |
$logged_in |
TRUE le user courrant est logué,FALSE sinon. C'est $user->uid qui est utiliser pour décider, les anonymes ayant tjs un ID=0. |
$is_front |
utilise la fonction drupal_is_front_page() pour voir si la page courante est la home (TRUE sur la home, à moins que la db ne soit pas online), FALSE sinon |
$directory |
Le dossier où se situe le template courant |
$user |
Un object qui contient les info du compte du user logué. On peux y acceder en ajoutant la ligne global $user; dans son template de test (attention, donne des infos sensibles). Il est "requis" d'utiliser theme('username'); par ex:theme('username', array('account' => $user)). |
$language |
Un object qui contient des info sur les langues utilisées sur le site - par ex $language->dir (sens/direction du texte) ou encore $language->language (on y verra en pour l'anglais). On peux aussi ajouter une ligne global $language; dans son template test |
$theme_hook_suggestions |
Un tableau qui contient tous les hooks possibles (utilisées commes variantes pour nommer ses fichiers de templates et noms de fonctions de thème ou encore pour donner un contexte) |
$title_prefix and $title_suffix |
Tableaux rendus contenant des éléments, comme les liens contextuels, à afficher avant et après le titre dans les templates ou en haut/bas des fichiers de templates quand il n'y a pas de titre. |
Le module RDF utilise ces variables pour se faufiler vers ses données lors de la phase preprocess. Chacune de ces variables ont 2 versions: une string et un tableau.
La version tableau (a le suffixe _array
dans le nom de la variable) est rempli lors de diverses fonctions preprocess, comme template_preprocess()
et template_preprocess_node()
ou encore template_preprocess_block()
. Puis, pendant la phase template_process()
, de nouvelles variables contenant une version string (ou plate) de ces tableaux sont crées pour qu'on puisse les utiliser dans des templates.
Variables - Description
-
$attributes
attributs HTML qui viennent de modules (souvent RDF) - mis à part pour l'attribut class qui est géré different et séparément -
$classes
classes HTML pour les templates, souvent réservé aux éléments wrapper html (body, div externes dans d'autres fichiers templates) -
$title_attributes
classes pour le titre (titre d'un node ou bloc) du template, souvent h2 -
$content_attributes
classes pour le wrapper div, ou body du template (regardernode.tpl.php)
templates
Créer un bloc, en regardant le code de block.tpl.php
:
<div id="<?php print $block_html_id; ?>" class="<?php print $classes; ?>"<?php print $attributes; ?>>
<?php print render($title_prefix); ?>
<?php if ($block->subject): ?>
<h2<?php print $title_attributes; ?>><?php print $block->subject ?></h2>
<?php endif;?>
<?php print render($title_suffix); ?>
<div class="content"<?php print $content_attributes; ?>>
<?php print $content ?>
</div>
</div>
En étant non logué, on voit ce code (créé par <?php print $block->subject ?>
et <?php print $content ?>
):
<div id="block-block-1" class="block block-block">
<h2>My Custom Block</h2>
<div class="content">
<p>Enim quam iusto quam iis enim. Molestie at et diam ut legere. Feugiat tation facilisis
quarta soluta quam. Facilisis lectorum modo nam modo suscipit.</p>
</div>
</div>
Logué en admin, le code est plus complexe (lex liesn contextuel d'admin sont créés par <?php print render($title_prefix); ?>
.