Affichage des blocs

Bonjour,

Je suis à la recherche d’un module qui puisse étendre les paramètres de visibilité des blocs.

Pour le moment on peut :
- Afficher le bloc sur toutes les pages exceptées celles listées.
- Afficher le bloc seulement sur les pages listées.
- Afficher si le code PHP suivant retourne TRUE (mode PHP, experts seulement).

Bien que les snippets donnent beaucoup de souplesse à Drupal, je suis étonné de ne pas trouver de module qui éviterait l’utilisation de code, ça m’arrangerait tout particulièrement ! (mais je suis certains que d’autres aussi… Enfin je pense)

Ca me parait d’autant plus étonnant, que j’ai l’impression que les situations que je peux rencontrer semble être courante.

En effet, par exemple, je souhaiterais :
- Afficher le bloc sur toutes les pages exceptées celles listées ET
Afficher le bloc seulement sur les pages listées.
- Afficher un bloc en fonction du type de contenu (ou en fonction d’autre chose…) du node en cours d’affichage.

En fait, j’imaginais qu’il pouvait exister un module qui permette comme View de gérer la visibilité des blocs avec notamment des fonctions conditionnelles avancés. (un module filtre pour les blocks peut être ?)

En espérant pas me trompé en disant que ces foncionnalités n’existent pas … j’espère qu’on pourra quand même me donner des solutions.

Cordialement,

Martin

#

Bonjour,

Pour ce pas laisser ce post sans réponse, voici une piste.

Je n’ai toujours pas trouvé de modules permettant de gérer ça via l’interface. En revanche, j’ai découvert les snippets et il semble que la problématique ait déjà été réfléchit, puisqu’il y a un partie dans la documentation anglaise qui traite des snippets spécialement pour l’affichage des blocs :

http://drupal.org/node/60317

Voici un exemple de code que j’ai utilisé :

<?php
 
//Pour afficher le bloc sur l'url qui se fini par blog
 
$url = request_uri();
    else if (
strpos($url, "blog") != FALSE){
          return
TRUE;
  }
 
 
// Pour afficher le block sur le listes de node d'un terme appartenant à un vocabulaire.
  // ici tous les terme se termine par 9,  car il appartienne à un même vocabulaire.
  // on retrouve ce chiffre dans administration / catégorie / et quand on survole le vocavulaire son numéro s'affiche dans la barre d'etat.)
  // arg(0) permet de récupérer la valeur de la première partie de l'URL, arg(2) la deuxième etc, ex http://www.domaine.com/partie1/partie2/partie3
 
else if ( arg(1) == 'term' and arg(3) == '9') {  return TRUE;  }

  return FALSE;
?>

Cordialement,

Martin

Syndiquer le contenu