Twig / Symfony 2.3.4: estensione del model di twig memorizzato nel database

Attualmente sto costruendo un CMS in Symfony 2.3.4 e, come parte di questo CMS, vorrei memorizzare tutti i templates di twig in un database. Ho letto su come archiviarli e accedervi nel database, e sembra abbastanza semplice – tuttavia, rimane una domanda. Deve essere ansible estendere i templates memorizzati nel database, ma non ho idea di come farlo.

Se qualcuno ha qualche esperienza o conoscenza sarei molto grato.

Saluti!

Potresti voler tuffarti in Twig_TokenParser_Extends per avere un'idea di come il tag extends funzioni internamente.

Seguendo le guide del forum symfony e della pagina Twig Recipes, sono riuscito a memorizzare tutti i templates nel database e ad estendere i lavori automaticamente. Assicurati che isFresh e getCacheKey restituiscano i valori, altrimenti otterrai una ricorsione infinita per qualche motivo.

Vale anche la pena notare che è necessario aggiungere un tag al servizio di caricamento del database, invece di aggiungere il servizio chain_loader come suggerisce il forum symfony.

 vendor.bundle.twig_database_loader: class: Vendor\Bundle\Twig\TwigDatabaseLoader arguments: [ @doctrine.orm.entity_manager ] tags: - { name: twig.loader } 

Questo codice functionrà abbastanza bene.