Archive for the ‘tips’ Category

Symfony e Dreamhost

Utilizzare Symfony dalla shell con Dreamhost spesso porta a ricevere oscuri errori in console come il seguente: ~/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 [...]

Svuotare la cache di Symfony da ogni directory del progetto

Emiliano ci suggerisce un tip 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 alias scc=”cd \$(pwd | sed -e \”s#^\(/var/www/[^/]\+\).*#\1#\”) && symfony cc ; cd -” a [...]

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 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 /usr/share/pear/symfony/filter/sfFilterChain.class.php(43): [...]

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

Javascript & Ajax? eval()!

Oggi dovevo eseguire del codice Javascript nel risultato di una chiamata ajax. Il template è fatto circa così: 1 2 3 4 5 6 <?php echo __(’Aggiungi prodotto’) ?><input type="button" value="+" onclick="addprod()" /> <?php echo javascript_tag(" function addprod() { alert(‘ciao’) } ") ?> Se chiamato “direttamente”, questo template funziona e visualizzerà correttamente l’alert. Ciò non [...]

Angoli arrotondati? Nifty!

Ti piace lo stile “web 2.0″? Beh, allora non potrai esimerti dall’arrotondare gli angoli dei tuoi elementi preferiti. L’ottimo plugin sfNiftyPlugin è un helper che permette di usare la libreria Javascript di Alessandro Fulciniti, Nifty Corners Cube, la quale appunto si occupa di arrotondare gli angoli dei tuoi elementi senza usare immagini. Una volta installato [...]

sfSimpleCMS e sfMediaLibrary

sfMediaLibrary è un ottimo plugin per la gestione degli assets, ovvero immagini, PDF, ec… In pratica basta installarlo e ci si trova un modulo nel backend con la gestione di cartelle e sottocartelle per poter organizzare i propri documenti. La cosa diventa particolarmente interessante quando si sta giocando con sfSimpleCMS, in quanto il plugin di [...]

Calendario nel risultato di una chiamata Ajax

Oggi dovevo utilizzare l’helper input_date_tag all’interno di un template che di fatto era il risultato di una chiamata Ajax. Dato che normalmente non ho mai avuto problemi con quell’helper mi è risultato strano l’errore Javascript “Calendar is not defined”; dopo un attimo di ricerca ho capito che in tale frangente i Javascript e i css [...]

Confrontare due campi della stessa tabella con Propel

Con il criteria di Propel non è possibile ancora confrontare due campi della stessa tabella, ma solo il campo con un valore. Questa feature sarà probabilmente implementata nella versione 2.0. Nel frattempo vi propongo questo trick per confrontare tra loro i campi Campo1 e Campo2 della tabella Tabella 1 2 3 $c = new Criteria(); [...]

Importare un file CSV all’interno del database

Spesso risulta necessario importare grosse moli di dati direttamente nel database passando da una form. Nel caso di grosse mole di dati, l’utilizzo di oggetti rischia di sovraccaricare il sistema pertanto l’utilizzo delle funzioni native del DBMS (nel caso di MySQL) spesso si traduce in una ottima soluzione.