personalizzare i filtri nel backend – 2

Se ricordate un vecchio post sull’applicazione della traduzione ai filtri del backend, sappiate che ora c’è una soluzione migliore:

1
2
3
4
if (sfConfig::get('sf_i18n'))
{
  $this->widgetSchema->getFormFormatter()->setTranslationCatalogue('sf_admin');
}

Tutto qui. Basta mettere queste poche righe di codice nelle classi BaseFormFilterDoctrine.class.php o BaseFormFilterPropel.class.php e il gioco è fatto. I filtri saranno tradotti, anche in altre eventuali lingue supportate dall’applicazione.

La documentazione di symfony migra a git

La documentazione ufficiale di symfony (versioni 1.3 e 1.4) è stata migrata dallo storico repository subversion a un nuovo repository distribuito basato su git. Questo vuol dire che sarà molto più semplice contribuire alla documentazione, non essendo più necessario richiedere le credenziali di accesso: basterà fare un fork del progetto, inserire i propri contributi e infine proporre un pull nel master.

Symfony Templating Component

Symfony Templating

E’ stato rilasciato il nuovo componente Symfony dedicato al templating.

Il Symfony Templating component è essenzialmente un layer molto leggero, ma potente, che permette di creare e gestire template coprendo la maggior parte delle classiche necessità associate ad una libreria del genere.

Sono infatti gestite la presenza degli slot, della ereditarietà (anche multipla) tra template e la possibilità di creare (ed utilizzare) helpers comuni a tutte le pagine.

Il componente in questione, come da tradizione Symfony, è stato rilasciato con una completa documentazione (disponibile in futuro anche in formato cartaceo) che ne spiega tutte le potenzialità con esempi e ricche spiegazioni.

Aiuta la comunità di Symfony e vinci un premio!

La comunità degli sviluppatori di Symfony ha proposto un nuovo progetto chiamato 1day1ticket. In pratica a partire dal 1° luglio per un numero imprecisato di mesi gli sviluppatori che aiuteranno a chiudere più ticket ed a migliorare quindi il codice del framework riceveranno, da alcuni sponsor, premi in varia natura.

Ma non solo, anche il GrUSP (l’associazione italiana di sviluppatori PHP che ogni anno organizza il phpDay) ha deciso di collaborare offrendo ulteriori premi ai propri iscritti.

Che aspettate? Correte a chiudere dei ticket!

personalizzare i filtri nel backend

La generazione automatica dei moduli di backend è bellissima, ma a volte c’è da sistemare qualche dettaglio a mano. Un caso esemplare è la form dei filtri, che purtroppo resta in inglese anche se la localizzazione è stata abilitata. Ma con qualche riga aggiuntiva nella classe filter relativa, possiamo metterla facilmente in Italiano (o anche personalizzarla ulteriormente). Innanzitutto occorre individuare la classe giusta: se ad esempio il vostro modello si chiama “BlogPost”, dovete modificare il file lib/filter/BlogPostFilter.class.php. Aprite dunque il file, ed inserite queste righe all’interno del metodo configure():

1
2
3
4
5
$this->widgetSchema['created_at']->setOption('template', 'da %from_date%<br /> a %to_date%');
$this->widgetSchema['created_at']->getOption('from_date')->setOption('format', '%day%/%month%/%year%');
$this->widgetSchema['created_at']->getOption('from_date')->setOption('empty_values', array('year' => 'anno', 'month' => 'mese', 'day' => 'giorno'));
$this->widgetSchema['created_at']->getOption('to_date')->setOption('format', '%day%/%month%/%year%');
$this->widgetSchema['created_at']->getOption('to_date')->setOption('empty_values', array('year' => 'anno', 'month' => 'mese', 'day' => 'giorno'));

come si può capire facilmente dal codice, non solo abbiamo messo le etichette in Italiano, ma abbiamo anche invertito l’ordine di mese e anno, portandolo nella forma che ci è più consona.
Ovviamente le opzioni viste sopra si possono applicare anche ad un eventuale campo “updated_at”, o a qualsiasi altro campo di tipo data.