Passa ai contenuti principali

Utilizzare i servizi nei templates twig

Nello sviluppo di un'applicazione web spesso ci si imbatte nel dover progettare un'architettura dinamica
L'implementazione di un tema grafico è tutt'altro che che banale
Twig viene in aiuto con l'estensione dei template, i blocchi, gli include e i render controller
Inoltre c'è la possibilità di scrivere estensioni ad hoc per il proprio progetto
Partiamo dal presupposto che il tema grafico non deve essere fisso, ossia può essere cambiato col tempo
La progettazione del tema grafico richiede di renderlo il più possibile staccato dal controller
Quindi in twig è necessario fare un build di vari frammenti e dati
In linea generale i dati devono essere richiamati da twig e non viceversa
Partendo da questo presupposto, in fase di generazione del template il controller deve inserire tutti i dati, ma proprio tutti
Il controller però in questo caso diventa monolitico
Non è la soluzione migliore
L'altra opzione è inserire in twig i render controller, ma i due oggetti si legano troppo rendendo difficile e lungo una sostituzione della veste grafica
L'ultima opzione è un'idea che mi  venuta strada facendo e di cui non conoscevo l'esistenza, anche perchè la documentazione non è molto chiara
Richiamare in twig i servizi
Il gioco è semplice
twig:
    strict_variables: "%kernel.debug%"
    #engines: ['twig', 'php']
    globals:
       ......

       dati_servizio: @mio_servizio


in twig ora è utilizzabile il servizio in maniera molto semplice:
 {% for dato in dati_servizio.getList() %}
    <option>
        {{ dato.nome }}
    </option>
 {% endfor %}

In questo modo è possibile richiamare i metodi del servizio all'interno di Twig e recuperare i dati

Commenti

Post popolari in questo blog

install language on osTicket

this simple guide aims you to install and configure your language on osTicket i written this guide based on forum post http://osticket.com/forum/discussion/76252/installing-language-pack

Droidcon Italia

A Febbraio arriva in Italia il Droidcon! Questo il programma della giornata: 6 febbraio 8:30 – 9:15 Registration 9:15 – 9:50 Welcome 9:50 – 13:00 Conferences 13:00 – 14:00 Lunch 14:00 – 18:00 Conferences / Barcamp 7 febbraio 9:50 – 13:00 Conferences / Workshops 13:00 – 14:00 Lunch 14:00 – 18:00 Conferences / Workshops 18:00 – 18:30 Closing Questo il link del Droidcon   http://it.droidcon.com/2014/ A breve maggiori informazioni sui talk, hackathon, codelab :)

la migliore home di un e-commerce

la principale caratteristica della home page è che può essere assimilata alla vetrina di un negozio concreto come l'obiettivo di una vetrina di un negozio è quello di attirare l'attenzione di potenziali clienti per spingerli ad entrare nel negozio, così la home page di un e-commerce deve spingere i visitatori a esplorare il sito però dobbiamo anche sottolineare una differenza: se una vetrina di un negozio è sempre il punto di contatto con potenziali clienti, in un e-commerce non sempre la prima pagina è il punto di ingresso dell'e-commerce perché un motore di ricerca restituisce di solito le pagine del prodotto e non l'home page dell'e-commerce come abbiamo detto la vetrina di un negozio e disegnata per attirare l'attenzione di clienti potenziali che passano davanti, nell'e-commerce invece i clienti hanno effettuato prima un'azione per visitare il sito così come possiamo creare differenti landing page per le campagne pubblicitarie che realizziamo,...