personnaliser un bloc : var $block->subject et $content

Tags:

https://drupalwatchdog.com/volume-1/issue-1/psd-drupal-7-theme

But: personnaliser un block : police perso du titre, bordure fine en haut seulement, police du texte par défaut, padding sur les bords, largeur de 6 colonnes, avec une couleur de fond.

On va utiliser block.tpl.php et les 2 variables $block->subject et $content


Contenu de block.tpl.php :

<div id="<?php print $block_html_id; ?>" class="<?php print $classes; ?>"<?php print $attributes; ?>>
  <?php print render($title_prefix); ?>
<?php if ($block->subject): ?>
  <h2<?php print $title_attributes; ?>><?php print $block->subject ?></h2>
<?php endif;?>
  <?php print render($title_suffix); ?>
  <div class="content"<?php print $content_attributes; ?>>
    <?php print $content ?>
  </div>
</div>

On a créé manuellement ce block (/admin/structure/block/add) et son rendu HTML resemble à:

<div class="block block-block contextual-links-region" id="block-block-3">
  <div class="content">
    <h2>News</h2>
    <p>Blah, blah, blah, lorem ipsum, blah blah blah.</p>
 </div>
</div>


  • Créer une .css pour les styles communs à tous les blocs (sauf pour les largeurs de blocs). En général, les blocs sont sur 3 colonnes. Le selecteur dans notre CSS devrait etre div.block.
  • Regarder les suggestions de templates pour les blocks: block-[region|[module|-delta]].tpl.php
    (où [groupe d'options] et | sépare les options = block-region.tpl.php OR block-module.tpl.php OR block-module-delta.tpl.php).
  • Copier block.tpl.php et le coller dans son thème sous le nom block-block-3.tpl.php et modifier ce dernier tq
    <div id="<?php print $block_html_id; ?>" class="<?php print $classes; ?> grid-6"<?php print $attributes; ?>>
logo drush