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 :)

Vue.js inline component

title: Componente Vue.js inline browser tags: vue.js, single file component vue.js Come creare un componente con Vue.js? Come crearlo e come usarlo direttamente nella pagine? Mi trovo in diversi progetti a bisticciare con jquery che ritengo un ottimo tool, ma non supremo. In ogni progetto possono esistere più tecnologie per risolveere problemi diversi. La SPA la preferisco con React o Angular, ma per creare dei componenti ad hoc o uso Polymer o Vue. Senza scomodare l’intero scaffolding di progetto è possibile creare un semplice componente ed usarlo nella pagina del browser senza fare il transpiling. Come iniziare. Preparo la base di folder. Come server uso quello integrato in php. mkdir vuewjs cd vuejs php -S localhost:8080 touch index.html google-chrome index.html Io uso Ubuntu e quelli sopra sono semplici comandi shell che creano un folder vuejs e dentro creano un file html e avviano il server presente in php7; infine apro con chrome la pagina index.hml. Pagina base Ora prep...