Drupal 7 e la gestione avanzata dei blocchi

Diversi modi per creare e gestire blocchi in Drupal 7

Drupal 7 sta portando con sé molte innovazioni anche per quanto riguarda la gestione dei blocchi. In questo articolo scopriamo quali sono le ultime novità in questo campo.

Drupal 7 e la gestione avanzata dei blocchi

In Drupal 7 ci sono diversi nuovi moduli che permettono configurazioni avanzate per la gestione dei blocchi, utili sia agli sviluppatori che agli utenti finali. Oltre al modulo Block presente nel core, troviamo infatti:

  • Bean
  • Boxes (disponibile anche per Drupal 6)
  • Nodeblock (disponibile anche per Drupal 6)
  • Block API
  • Block 2.0

Mentre Block API e Block 2.0 sembrano più dei tentativi per riscrivere il modulo Block del core, gli altri sono dei progetti che mirano ad estendere e migliorare la gestione dei blocchi.

Nodeblock

Il modulo per Drupal Nodeblock è un sistema piuttosto tradizionale che permette di definire un qualunque tipo di contenuto come visualizzabile all'interno di un blocco che potrà quindi essere posizionato in una regione come ogni altro blocco. Potendo definire un tipo di contenuto si può sfruttare CCK (D6) o Field API (D7), in modo da avere più campi personalizzati. Ciò permette di agganciare la creazione e la gestione dei nodi al meccanismo di controllo dei permessi in maniera trasparente. Nodeblock è anche compatibile con il modulo internationalization (i18n), garantendo la possibilità di poter effettuare le traduzioni in più lingue con estrema facilità.

Ad ogni nodo di questo tipo viene quindi assegnato un blocco che potrà essere posizionato nel layout attraverso l'interfaccia di default di Drupal, piuttosto che usando i moduli Context o Panels.

I vantaggi di questa soluzione sono la facilità di configurazione e d'uso, la possibilità di controllare i permessi di accesso al nodo, l'integrazione con i18n. Ci sono però anche degli svantaggi, come ad esempio l'appesantimento della struttura dei nodi, in quanto la si sfrutta per uno scopo diverso da quello previsto, e l'assenza di un meccanismo per l'esportazione dei blocchi generati.

Boxes

Con Boxes, invece, c'è l'obbiettivo di creare un sistema per il controllo dei blocchi personalizzati partendo dal presupposto che essi siano una "configurazione" e non un contenuto. Il modulo Boxes offre quindi una interfaccia inline per modificarli direttamente dalle varie pagine in cui compaiono senza passare per l'area di amministrazione del sito. I blocchi creati con questo modulo possono essere esportati attraverso il modulo Chaos tools, rendendoli uno strumento dinamico ed utile agli sviluppatori.

Esiste anche un modulo chiamato Views Boxes che fornisce un sistema flessibile per integrare il modulo Views all'interno dei blocchi creati con Boxes.

Bean

Il nuovo modulo Bean, infine, permette di definire nuovi tipi di blocchi personalizzati. Praticamente un bean è come un tipo di contenuto, senza essere un nodo. Allo stesso modo dei tipi di contenuto, anche i vari tipi di bean hanno i permessi di creazione, modifica, visualizzazione ed eliminazione, permettendo quindi agli utenti, con sufficienti permessi, di poter gestire i blocchi dei differenti tipi.


Sia il modulo Boxes che il modulo Bean sono ancora in fase di sviluppo, pertanto non sono da riternersi stabili e sicuri da usare al 100%, ma possono comunque essere già utilizzati dopo una adeguata fase di collaudo.