drupal

Mer, 11/11/2009 - 11:58

Stasera alle 21 e 15 inizia il mini-corso su Drupal tenuto dal sottoscritto al LUG di Bergamo.
Si terrà in Largo Rontgen 3, Bergamo.
Ingresso gratuito.
Se siete interessati compilate la form di registrazione sul sito del BgLug.

Argomento della serata:
Linux, Apache, PHP e MySql: creare l’ambiente adatto per il nostro sito web.
Argomenti: LAMP, introduzione ai CMS, presentazione di Drupal. La struttura modulare di Drupal. Drupal vs altri cms.

Vi aspetto numerosi.
A stasera.

Gio, 22/10/2009 - 23:33

Sabato 24 ottobre tutti a Dalmine al Linux Day!

Ci sarà anche il vostro carissimo che parlerà di Drupal :-) .
Non mancate!

Locandina

Linux Day, articolo su L'eco di Bergamo

Gio, 08/10/2009 - 23:49

Drupal è un sistema estremamente modulare, i moduli sono davvero moltissimi e capita talvolta di creare installazioni con decine di essi. Ma questi moduli, in che ordine vengono richiamati?

Supponiamo di voler modificare una form rimuovendo un campo. Creiamo un modulo di nome remove_pig_weight, aggiungiamo il canonico remove_pig_weight.info al suo interno e l'altrettanto canonico remove_pig_weight.module.

All'interno del file remove_pig_weight.module creiamo un hook_form_alter, in cui mettiamo il seguente snippet:

function remove_pig_weight_form_alter(&$form, $form_state, $form_id) {
  switch ($form_id) {
    case 'pig_node_form':
      // Se hai devel installato
      dpm($form);
      // Se non hai devel installato
      // echo "<pre>".print_r(,1)."</pre>";
    break;
    }
}

Printando l'array che contiene le specifiche della form potremmo notare che proprio il campo che vogliamo eliminare non viene mostrato. Come è possibile? Semplice, ciò accade perchè il campo che vogliamo eliminare viene aggiunto da un modulo che è eseguito dopo il nostro.

Per ovviare a questo comune problema esistono molteplici strade, eccone due davvero semplici per Drupal 6:

Modulo Utility, permette di definire un peso ai moduli, specificandone così l'ordine di esecuzione direttamente nella pagina con la lista dei moduli installati.

Modulo Late Form Alter, permette di eseguire una determinata operazione solo dopo il termine di tutti gli hook_form_alter.

La gestione del peso dei moduli viene definita nella tabella system della vostra installazione di Drupal. A peso minore corrisponde priorità di esecuzione.

Mer, 07/10/2009 - 12:49

Quante volte mi sono ritrovato a dover aggiungere delle classi ad una form tramite codice con Drupal 6.
E' un'operazione comune quando si fa theming, poichè molte volte capita di aver bisogno di una personalizzazione maggiore degli elementi di una form.
Implementiamo quindi nel nostro modulo un hook_form_alter, selezioniamo la form corretta e assegnamo un valore per la chiave '#attributes'.

function mymodule_form_alter(&$form, $form_state, $form_id) {
  switch ($form_id) {
    case 'my_form_id':
      $form[myfieldset]['#attributes'] = array('class' => 'new_class');
    break;
  }
}

my_form_id è il valore del campo nascosto form_id che avete nella vostra pagina che mostra la form (è sufficiente guardare il sorgente della pagina per trovarlo).

my_fieldset è il fieldset al quale volere aggiungere la classe.

Non sapete precisamente come si chiamano i vostri valori e di conseguenza non sapete dove posizionare l'array '#attributes'?
Se avete attivo il modulo devel, è sufficiente printare in questo modo l'array $form:

dpm($form);

Se non avete attivo devel, il vecchio print_r vi aiuta:

echo "<pre>".print_r($form,1)."</pre>";

Ora si può lavorare sul css senza problemi.

Dom, 04/10/2009 - 00:37

Da tempo cercavo un modo per postare sul blog, oviamente sviluppato con Drupal, tramite iPhone. Nell'app store esiste una buona applicazione free per Wordpress, ma nulla di mirato e specifico per Drupal. Esistono due applicazioni a pagamento che supportano Drupal insieme ad altri cms ma nessuna di queste mi soddisfaceva completamente, i parametri nell'inserimento post sono limitati e non riuscivo nemmeno a settare la lingua del post. Navigare le pagine con Safari è scomodo, le form non sono ottimizzate per iPhone e continuare a zoomare/ridurre rende davvero inutilizzabile il sistema.
Cercando ancora più a fondo però ho scoperto iDrupal, un fantastico modulo che rileva automaticamente il browser dell'utente (rilevando anche safari mobile ovviamente) e impostando un tema apposito che rende il sito ottimizzato per iPhone. Purtroppo non ho avuto modo di testare con altri mobile handset o cellulari la visualizzazione del sito, ma con iPhone posso assicurare che è eccellente. Questo post non a caso lo sto scrivendo proprio con iPhone.
Il modulo ed il tema purtroppo non sono ancora stati rilasciati in versione stable ma nonostante io abbia prelevato il ramo di sviluppo funzionano egregiamente.

Comunicazione di servizio: se qualcuno volesse dare una mano per proseguire lo sviluppo leggevo che il mantainer è abbastanza indaffarato ed ha bisogno di una mano.

Mar, 05/05/2009 - 22:49

Anche quest'anno, per la seconda volta di fila, sono stato accettato come studente al Summer Of Code di Google.Ovviamente passerò i miei tre mesi di sano coding su Drupal, in un progetto riguardante la comunicazione asincrona sul web al fine di facilitare la diffusione e la gestione della conoscenza online.Grazie allo staff di Drupal che mi ha permesso anche quest'anno di partecipare e grazie anticipatamente a chi sopporterà le mie mattine di coma parziale a causa della notte passata nella scrittura di codice.

Ven, 27/02/2009 - 13:20

Per chi ancora non lo sapesse, la prossima Drupalcon europea si terrà a Parigi nei primi giorni di settembre 2009.Inutile dire che al 99% ci andrò.

Condividi contenuti