Afficher un bloc sur certaines pages seulement
* Pages sur lesquelles ce code PHP renvoie TRUE (recommandés aux experts)
Afficher un bloc sur front page
Seulement les pages listées
<front>
Soit:
x Pages sur lesquelles ce code PHP renvoie TRUE
(recommandés aux experts)
<?php if (drupal_is_front_page()) { return TRUE; } return FALSE; ?>
Afficher un bloc sur un node
Exemple:
http://mydomain.com/admin/build/blocks/list
arg(0) = "admin", arg(1) = "build" etc
Avec
http://mydomain.com/content/monarticle
arg(0) = "node", arg(1) est un nombre et représente le numéro du node
<?php if ( arg(0) == 'admin') { return true; // Affiche seulement si admin } return false; if ( arg(0) == 'node' && is_numeric(arg(1))) { return true; // Affiche uniquement si la page est de type contenu (node/1234) } return false; if(arg(0) == 'node' && is_numeric(arg(1))) { $nid = arg(1); if ($nid == 24) {// Affiche uniquement si la page est le node/24 return TRUE; // node 24 } } return FALSE; if ( arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) { retrun true; // Affiche uniquement si un terme de taxonomy } return false; if ( arg(0) == 'mapage' ) { return true; // Affiche uniquement si la page est 'mapage' } return false; ?>
<?php if(arg(0) == 'node' && is_numeric(arg(1))){ $node = node_load(arg(1)); if ($node == '24') { return TRUE; // node 24 } } return FALSE; ?>
Afficher un bloc sur un node avec taxonomie
<?php if (arg(0) == 'node' && is_numeric(arg(1))) { $node = node_load(arg(1)); //contenu = node if (isset( $node->field_dialogue['und'])) { return TRUE; //node avec taxonomy dialogue } } return FALSE; ?>
Afficher un bloc sur une liste taxonomie
<?php $tid = arg(2); if ( is_numeric( $tid)) { $term = taxonomy_term_load($tid); //contenu = taxonomy term if ($term->vocabulary_machine_name = 'dialogue') { return TRUE; //taxonomy dialogue list } } return FALSE; ?>
Afficher un bloc sur un type de contenu particulier
Pour ajouter dans une combinaison de test, car les blocs possédent une fonction "Afficher le bloc pour des types de contenus spécifiques"
<?php if(arg(0) == 'node' && is_numeric(arg(1))){ $node = node_load(arg(1)); if ($node->type == 'contenttype') { return TRUE; //content type list } } return FALSE; ?>
Afficher un bloc sur un node particulier
<?php $url = request_uri(); $myurl = 'tous-les-dialogues'; if (strlen(stristr($url, $myurl)) >0) { return TRUE; } return FALSE; ?>
Afficher un bloc sur toutes les pages user
<?php global $user; if (arg(0) == 'user' ){ return TRUE; } else { return FALSE; } ?>
Affiche le Titre du Groupe courant
Structure » Blocs
Ajouter un bloc
Titre du bloc <none>
Description du bloc Dialogue Courant
<?php $dtid = 0; if (arg(0) == 'node' && is_numeric(arg(1))) { $node = node_load(arg(1)); //contenu = node if (isset( $node->field_dialogue['und'])) { $dtid = $node->field_dialogue['und'][0]['tid']; //node avec taxonomy dialogue } } $tid = arg(2); if ( is_numeric( $tid)) { $term = taxonomy_term_load($tid); //contenu = taxonomy term if ($term->vocabulary_machine_name = 'dialogue') { $dtid = $tid; //taxonomy dialogue list } } if ($dtid) { print '<h2>' . l(taxonomy_term_load($dtid)->name, 'taxonomy/term/' . $dtid) . '</h2>'; } ?>
Paramètres de visibilité
Format de texte PHP code
Paramètres de la région Main: Upper
Afficher le bloc sur certaines pages seulement
x Pages sur lesquelles ce code PHP renvoie TRUE (recommandés aux experts)
<?php if (arg(0) == 'node' && is_numeric(arg(1))) { $node = node_load(arg(1)); //contenu = node if (isset( $node->field_dialogue['und'])) { return TRUE; //node avec taxonomy dialogue } } $tid = arg(2); if ( is_numeric( $tid)) { $term = taxonomy_term_load($tid); //contenu = taxonomy term if ($term->vocabulary_machine_name = 'dialogue') { return TRUE; //taxonomy dialogue list } } return FALSE; ?>
Menu PHP Ajouter une page enfant
<?php if (arg(0) == 'node' && is_numeric(arg(1))) { $node = node_load(arg(1)); //contenu = node if (node_access('create', $node)){ //mode create if (isset($node->book['bid'])) { //node=book $book_new_child = $node->book['mlid']; //ref book parent echo '<br /> <a href="/node/add/dossier?parent=' .$book_new_child. '">Ajouter une page enfant</a>'; } } } ?>