Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

Ajouter des classes « first » et « last » aux blocs

Date du document en anglais : 4 Mars 2010 - 23h29 - http://drupal.org/node/293188



Parfois, le premier ou le dernier bloc d'une région doit être d'un style différent des autres blocs. Pour avoir une classe « First » ou « Last » sur les premiers et derniers blocs d'une région, vous devez surcharger deux fonctions de thème : theme_block() et theme_blocks().

  1. Surcharger theme_blocks() :
    <?php

    function phptemplate_blocks($region) {
      
    $output '';

    if (
    $list block_list($region)) {
        
    $blockcounter 1// il y a au moins un bloc dans cette région
        
    foreach ($list as $key => $block) {
          
    // $key == <i>module</i>_<i>delta</i>
         
    $block->extraclass ''// ajout de la clé 'extraclass' à l'objet $block
         
    if ($blockcounter == 1){ // est-ce le premier bloc de la région ?
           
    $block->extraclass .= ' first'
          }
         if (
    $blockcounter == count($list)){ // est-ce le dernier bloc de la région ?
           
    $block->extraclass .= ' last';
         }
          
    $output .= theme('block'$block);
         
    $blockcounter++;
        }
      }

      
    // Ajout d'un contenu attribué à cette région via un appel à drupal_set_content()
      
    $output .= drupal_get_content($region);
    return 
    $output;
    }
    ?>  
  2. Surcharger theme_block() :
    <?php
    function phptemplate_block($block) {
        
    // dans cette ligne, l'extraclasse est ajoutée en tant que classe
        
    $output "<div class=\"block block-$block->module $block->extraclass\" 
            id=\"block-
    $block->module-$block->delta\">\n"
        
    $output .= " <h2 class=\"title\">$block->subject</h2>\n";
        
    $output .= " <div class=\"content\">$block->content</div>\n";
        
    $output .= "</div>\n";
        return 
    $output;
    }
    ?>  

C'est tout !