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)
- télécharger, installer et activer le module
- 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 - 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) - 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.
- 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">
</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">
</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.
- Modules :
- Mots-clés :
- 6921 lectures
Commentaires :
Ce module n'est disponible
Ce module n'est disponible que pour Drupal 5.x?
malheureusement OUI (à
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
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
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
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