Skip to Content

module Drupal : blocktheme

Un rapide aperçu en image (screencast) du module blocktheme qui va vous permettre d'utiliser des gabarits de mise en page (templates) pour vos blocs ...

Téléchargez le module sur la page officielle du projet : http://drupal.org/project/blocktheme

Installation/configuration pour la version Drupal 5.x :

(pour drupal 6.x => voir l'update en bas de page)

  1. télécharger, installer et activer le module
  2. définissez vos templates dans la page de configuration du module blocktheme : administer >> site configuration >> block theme ou .../admin/settings/blocktheme
    par exemple :
    block-standard|Block Standard
    block-arrondi|Block Arrondi
  3. créer les templates correspondants dans le répertoire de votre thème :
    block-standard.tpl.php
    block-arrondi.tpl.php
    (y placer des #id et des .class spécifiques pour votre mise en forme CSS future)
  4. conseil : créer une feuille de style spécifique (blocktheme.css par exemple) pour la mise en forme de vos blocks
    Ne pas oublier de lier cette feuille dans style.css avec un @import "blocktheme.css"; par exemple.
  5. Attention : étape importante et non évoquée dans la vidéo ci-dessous :
    ajouter la fonction suivante dans le fichier template.php de votre thème (le créer au besoin) :
    (si vous avez déjà un template.php, ne prenez pas en compte la balise php <?php ....?> qui est forcément déjà présente dans votre fichier !)
<?php
   
function NomDeVotreTheme_block($block) {
    if (
module_exists('blocktheme')) {
      if (
$custom_theme = blocktheme_get_theme($block) ) {
        return
_phptemplate_callback('block',array('block' => $block),array($custom_theme) );
      }
    }
    return
phptemplate_block($block);
    }
           
?>

5. Sélectionner le template désiré dans le menu déroulant qui apparait dans l'interface de configuration du bloc concerné :
ex : .../admin/build/block/configure/user/1

Le tutoriel vidéo, démo sur la version 5.x-1.2 du module (8 min) :

Pour info : le code de mes templates :

block-standard.tpl.php

    <div class="block-standard" id="block-<?php print $block->module; ?>-<?php print $block->delta; ?>">
      <h2>
        <span><?php print $block->subject; ?></span>
      </h2>
      <?php print $block->content; ?>
      <div class="block-bottom">
        &nbsp;
      </div>
    </div>
   

block-arrondi.tpl.php

    <div class="block-arrondi" id="block-<?php print $block->module; ?>-<?php print $block->delta; ?>">
      <h2>
        <span><?php print $block->subject; ?></span>
      </h2>
      <?php print $block->content; ?>
      <div class="block-bottom">
        &nbsp;
      </div>
    </div>
   

Update 7.07.2008 :

Installation/configuration pour la version Drupal 6.x :

Le module est maintenant dispo pour drupal 6 (en beta, en date de cette update). La procédure de configuration reste la même sauf que :

=> Les noms des templates .tpl.php doivent être précédés de blocktheme-
dans notre exemple, on aurait donc :
blocktheme-block-standard.tpl.php
blocktheme-block-arrondi.tpl.php

=> Il n'y a plus besoin de placer de fonction NomDeVotreTheme_block($block) dans template.tpl.php

Tout est dit dans le README.txt du module :

      == Installation ==

1. Enable the module

2. go to admin/settings/blocktheme and add entries like:
customtemplate|My Custom Template
mysupertemplate|My SuperTemplate
Where the first name is the machine-readable name of your template which may contain only
alphanumerical characters, -, or _ . The second name is the user-friendly name that appears
in the selectionbox on the block edit form.

3. choose from either step 4. or 5. 

4. Create tpl files in your theme directory like: (Note: filenames must be preceded by blocktheme- )
 blocktheme-customtemplate.tpl.php
 blocktheme-mysupertemplate.tpl.php

5. Alternatively use the extra provided variable $blocktheme to customize your
 block.tpl.php or block-*.tpl.php files. The $blocktheme will typically be
 used as a css class name in you template and contains the machine-readable name of
 your template.
      
4
Average: 4 (1 vote)
Your rating: Aucun

Commentaires :

Ce module n'est disponible

Ce module n'est disponible que pour Drupal 5.x?

malheureusement OUI (à

Portrait de robin

malheureusement OUI (à l'heure ou je répond)
Il faut surveiller la page du projet : http://drupal.org/project/blocktheme

une precision

Salut,tout d'abord bravo pour ce site et ses tutos super efficace !
dis moi j'ai un petit problème, j'ai réussi à tous réaliser mais le seul problème, c'est que maintenant lors que je modifie le css de block-arrondi ou block-standard, les modif se font pour les 2! Or j'ai bien tout séparé. Que me manque-t-il pour rendre les blocs indépendant!

normalement si tu as deux

Portrait de robin

normalement si tu as deux class différentes .block-arrondi et .block-standard , les styles ne devraient pas s'appliquer aux deux.
as tu bien vérifié ?
il y a forcément une histoire de class là-dessous !

rappel pour tout le monde : désactivez tous les "caches" possibles : navigateur + drupal ( admin/settings/performance => disable) et réactualisez votre navigateur régulièrement.

Ce module requière des compétences en CSS, alors regardez à deux fois lorsque les styles ne fonctionnent pas
++

voir aussi ce thread :
http://www.drupalfr.org/node/3661

blocktheme

Bonjour,
Le module blocktheme est maintenant dispo pour drupal 6.x, la fonction à mettre dans le template.php est t-elle la même que pour drupal 5 ?

Merci d'avance

Je pose la question parce

Je pose la question parce que j'ai le message suivant lorsque j'utilise ce code dans mon template.php :

Fatal error: Call to undefined function phptemplate_block()

Vous avez peut-être une solution?
Merci d'avance

Voir l'Update en bas de page

Portrait de robin

Voir l'Update en bas de page ...
La version beta fonctionne nickel pour Drupal 6, j'ai testé ...
vraiment top ce module, pour un themer comme moi :-)

Merci pour l'update!

Merci pour l'update!

Complément d'info pouir Drupal 6x.

Bonjour,

Votre excellent tuto sur blocktheme dans Drupal 5, m'a convaincu d'essayer la version beta de Drupal 6x.
J'ai eu quelques difficultés à l'adapter car vous utilisiez :
- une fonction à intégrer dans le fichier template.tpl.php, qui n'est plus nécessaire.
- une déclaration de variable différente de celle du code utilisé dans block.tpl.php.
- une nouvelle feuille de style nommée blocktheme.css.

Après plusieurs tâtonnements (je débute en php, en CMS et je débute dans Drupal !), j'ai refait un tuto ici

Si vous le désirez, je peux vous le traduire en français (pas facile de s'y retrouver dans les docs anglaises chez Drupal pour un nouveau venu !).

Continuez vos tutos en vidéo qui m'ont été indispensables pour mes débuts dans la maîtrise de la "bête" qu'est Drupal :)

J'ai testé pour drupal 6 et

Portrait de robin

J'ai testé pour drupal 6 et c'est très simple :
- j'ai juste repris les templates de ma version D5 en les renommant avec blocktheme- devant. Comme indiqué dans le readme.txt
- j'ai repris ma feuille de style
- configuré le module avec
block-standard|Block Standard
block-arrondi|Block Arrondi

et ça roule.

je viens de rajouter le code de mes templates en fin d'article, si ça peut aider.
En lisant ton "issue" sur drupal.org, je constate que tu fais ni plus ni moins que ce que je dis dans le tuto.
Le choix des .class et #id est libre pour chacun.
Je le rappel : ce module requière des compétences en css afin d'en tirer le meilleur.
Pas facile quand on débute ;-)

Poster un nouveau commentaire

  • Tags HTML autorisés : <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.

Plus d'informations sur les options de formatage

CAPTCHA
Anti spam : répondez pour vérifier que vous êtes bien un humain !
2 + 11 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.