Je voudrais cacher la région "colonne de droite" lorsque je suis dans le forum.
J'élargis ma question :
Comment faire pour cacher / montrer une ou des régions selon le contenu visité ?
Une autre solution, plus élaborée , consisterait à se servir du module panels2.
Ca permet ainsi, en se servant de l'argument Node ID, de pousser plus loin la personnalisation de l'affichage des régions pour chaque type de node.
Bien qu'avec beaucoup de retard, et pour laisser la bonne info sur ce sujet, la façon d'afficher en block en fonction du contenu se fait grâce à un snippet.
En effet, un snippet est un petit bout de code php qui retourne TRUE ou FALSE en ce qui concerne l'affichage ou non des blocks.
Donc quand tu es sur la configuration d'un block,
1/ il suffit d'aller sur : "Paramètres de visibilité spécifiques à la page",
2/ tu coches
"Afficher si le code PHP suivant retourne TRUE (mode PHP, experts seulement)."
3/ tu colles le snippet suivant qui permettra d'afficher le code sur les type story et page:
"Variations: This example would show the block on all 'story' and 'page' type nodes. Just change line 2 - the $types array - to indicate which node types you want your block to appear on. Use the format 'nodetype' => 1 for each type you need. And yes, the array can hold single type only."
source : http://drupal.org/node/64135
Et en Français ça devrait donner :
Cet example devrait montrer le bloc sur toutes les types de noeud appartenant à "histoire" ou "page" (les deux types de contenu présent sur Drupal). Il y a juste a changer la ligne 2 - le $types tableau - pour indiquer sur quel type de node le block doit apparaître. Il faut utiliser la forme "'nodetype' => 1" (sans les parenthèses, mais avec les guillemets !) et rajouter une vigule entre chaque type sauf à la fin (comme dans le code en fait ...) pour chaque type dont on a besoin. Et oui le tableau (array) peut contenir qu'un seul type de contenu.
Joined: 2008-02-02
Bonjour,
Dans la partie block, tu as une partie qui regroupe tous les block de la colonne de droite.
Il suffit d'aller sur configurer de chacun de ces blocs et d'entrer les URLs où ces blocks doivent ou ne doivent pas s'afficher.
Cordialement,
Martin
Joined: 2007-12-14
Salut,
Une autre solution, plus élaborée , consisterait à se servir du module panels2.
Ca permet ainsi, en se servant de l'argument Node ID, de pousser plus loin la personnalisation de l'affichage des régions pour chaque type de node.
social dinners
Joined: 2008-02-02
Bonnjour,
Bien qu'avec beaucoup de retard, et pour laisser la bonne info sur ce sujet, la façon d'afficher en block en fonction du contenu se fait grâce à un snippet.
En effet, un snippet est un petit bout de code php qui retourne TRUE ou FALSE en ce qui concerne l'affichage ou non des blocks.
Donc quand tu es sur la configuration d'un block,
1/ il suffit d'aller sur : "Paramètres de visibilité spécifiques à la page",
2/ tu coches
"Afficher si le code PHP suivant retourne TRUE (mode PHP, experts seulement)."
3/ tu colles le snippet suivant qui permettra d'afficher le code sur les type story et page:
<?php$match = FALSE;
$types = array('story' => 1, 'page' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
return $match;
?>
"Variations: This example would show the block on all 'story' and 'page' type nodes. Just change line 2 - the $types array - to indicate which node types you want your block to appear on. Use the format 'nodetype' => 1 for each type you need. And yes, the array can hold single type only."
source : http://drupal.org/node/64135
Et en Français ça devrait donner :
Cet example devrait montrer le bloc sur toutes les types de noeud appartenant à "histoire" ou "page" (les deux types de contenu présent sur Drupal). Il y a juste a changer la ligne 2 - le $types tableau - pour indiquer sur quel type de node le block doit apparaître. Il faut utiliser la forme "'nodetype' => 1" (sans les parenthèses, mais avec les guillemets !) et rajouter une vigule entre chaque type sauf à la fin (comme dans le code en fait ...) pour chaque type dont on a besoin. Et oui le tableau (array) peut contenir qu'un seul type de contenu.
Cordialement,
Martin