Vorrei caricare alcuni modelli di Twig dal database nell'applicazione Symfony2, pur mantenendo la possibilità di utilizzare il caricatore nativo per eseguire il rendering dei modelli nelle posizioni standard del filesystem. Come ottenere questo?Come registrare un altro caricatore twig (personalizzato) nell'ambiente Symfony2?
Per quanto ho capito, non è possibile registrare più caricatori nell'ambiente Twig. Ho pensato due modi (per ora):
- Replace the default loader con una classe proxy personalizzata. Quando i modelli vengono indirizzati con lo standard @ Notazione pacchetto, il proxy passa la richiesta al caricatore predefinito. In altri casi, la richiesta sarebbe passata al mio caricatore personalizzato (database); OR
- Costruisci un ambiente Twig completamente nuovo. Questo metodo avrebbe richiesto la registrazione estensioni di Twig personalizzate per entrambi gli ambienti e non permettere i modelli con riferimenti incrociati provenienti da fonti diverse (alcuni da @Bundles, alcuni dal database)
Update 1:
Sembra che Twig supporti la classe Twig_Loader_Chain che potrebbe essere utilizzata nella mia prima opzione. Tuttavia, il caricatore predefinito dovrebbe essere accessibile e passato alla catena come prima opzione.
Questo problema è stato risolto in Symfony 2.3? – Dayson
Mi rendo conto che questo è un thread vecchio, ma aggiungendo la configurazione precedente si impedisce la visualizzazione dei modelli di debug del profilo Web: al suo posto viene visualizzata la seguente stringa nella parte inferiore dello schermo: @ WebProfiler/Profiler/toolbar_js.html.twig How posso risolvere questo? – Tocacar