Archive for the ‘tips’ Category

Deselezionare le opzioni di una select multipla in un test funzionale

Mi è capitato questa mattina di dover fare un test funzionale in cui avevo bisogno di deselezionare una serie di opzioni da una select (all’interno di una form) lasciandone però alcuni selezionati. Guardando sulla documentazione dell’sfTestBrowser ho trovato un metodo per il select e deselect di radiobutton o checkbox. Sfortunatamente non ho trovato un metodo [...]

group by

Quante volte vi è capitato di dover fare una semplice group by per contare le righe di una tabella raggruppate per una data colonna? Per intenderci, quello che si fa in maniera semplicissima in SQL con
PLAIN TEXT
CODE:

SELECT type,COUNT(*) AS num FROM card GROUP BY type;

Purtroppo con Propel la cosa non appare subito immediata. Ecco [...]

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 [...]

Sostituire l’helper “input_date_tag()” in Symfony 1.1

Come molti di voi avranno appreso, a partire da Symfony 1.1 gli helper javascript (e relativi ai form) sono (imho giustamente) da considerarsi deprecati. Questo perchè rendono la scrittura (ma anche l'utilizzo) del codice più complesso del dovuto stravolgendo (e forzando) logiche non sempre corrette.
Tale scelta ha però portato ad alcune mancanze, prima tra tutte [...]

Editare HTML in una textarea

Spesso può servire, specialmente se si sta scrivendo un CMS, utilizzare una textarea per l'editing del codice HTML. Purtroppo Symfony, ad ogni submit di una form, converte il contenuto della textarea stessa trasformando le entità HTML nei rispettivi simboli (c'è anche un ticket aperto a riguardo). Questo fastidioso comportamento fa sì che le pagine HTML [...]

Symfony e Dreamhost

Utilizzare Symfony dalla shell con Dreamhost spesso porta a ricevere oscuri errori in console come il seguente:
PLAIN TEXT
CODE:

~/dh$ php symfony

 

Parse error: syntax error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/user/domain.com/data/symfony/bin/symfony.php on line 42

il problema dipende dal fatto che la console dell'hosting provider utilizza php4, anche se il vostro dominio [...]

Svuotare la cache di Symfony da ogni directory del progetto

Emiliano ci suggerisce un tips utile se usate linux come piattaforma di sviluppo. Si tratta di un piccolo script che permette di svuotare la cache di Symfony da qualsiasi directory di un progetto.
Basta aprire /etc/profile ed inserire al suo interno
PLAIN TEXT
CODE:

alias scc="cd \$(pwd | sed -e \"s#^\(/var/www/[^/]\+\).*#\1#\") && symfony cc ; cd -"

a questo [...]

eAccelerator e routing dei metodi

Se utilizzate eAccelerator sul vostro server di produzione e con le ultime due versioni di Symfony ottenete strani messaggi di errore relativi al routing dei metodi simili a
PLAIN TEXT
CODE:

Fatal error:

Uncaught exception 'sfStopException' in /usr/share/pear/symfony/action/sfAction.class.php:136 Stack trace:

#0 /var/www/html/progetto/apps/applicazione/modules/modulo/actions\actions.class.php(19): sfAction->forward('default', 'module')

#1 /usr/share/pear/symfony/action/sfActions.class.php(53): connectActions->executeIndex()

#2 /usr/share/pear/symfony/filter/sfExecutionFilter.class.php(115): sfActions->execute()

#3 /usr/share/pear/symfony/filter/sfFilterChain.class.php(43): sfExecutionFilter->execute(Object(sfFilterChain))

#4 /usr/share/pear/symfony/filter/sfFlashFilter.class.php(50): sfFilterChain->execute()

#5 [...]

sfGuard e sfSimpleBlog… e le chiavi importate.

Se stai cercando, su un'installazione fresca di symfony, di far funzionare i due plugin sfGuardPlugin e sfSimpleBlogPlugin ti potrebbe capitare di incorrere nel seguente errore:
[...] Attempt to set foreign key to nonexistent table, sf_guard_user [...]
soprattutto se stai seguendo la documentazione. Ciò è dovuto probabilmente al fatto che nel tuo propel.ini la seconda riga
propel.packageObjectModel
è impostata a [...]

Javascript & Ajax? eval()!

Oggi dovevo eseguire del codice Javascript nel risultato di una chiamata ajax. La template è fatta circa così:
PLAIN TEXT
CODE:

<?php echo __('Aggiungi prodotto') ?><input type="button" value="+" onclick="addprod()" />

<?php echo javascript_tag("

    function addprod() {

        alert('ciao')

    }

") ?>

Se chiamata "direttamente", questa template funziona è visualizzerà correttamente l'alert. Ciò non si verificherà [...]