2012-02-17 12 views
13

Quali sono i passi programmatici per trasformare questa stringa:Risolvere percorso di file locale da Twig nome del modello

AcmeProjectBundle::home.html.twig 

in tutto questo?

/path/Symfony/src/Acme/ProjectBundle/Resources/views/home.html.twig 
+0

Stai chiedendo l'algoritmo utilizzato? O per una funzione reale che puoi chiamare? Tieni presente che questo è tutto fatto durante la fase di "compilazione" con i risultati memorizzati nella cache. Non qualcosa che normalmente dovresti affrontare durante il tempo di esecuzione. – Cerad

+0

Le funzioni utilizzate all'interno di twig/symfony. – ojreadmore

+0

Vedere Symfony \ Bundle \ FrameworkBundle \ Templating \ TemplateNameParser – solarc

risposta

24

Se si desidera recuperare percorso da un controller è possibile utilizzare questo codice:

$parser = $this->container->get('templating.name_parser'); 
$locator = $this->container->get('templating.locator'); 

$path = $locator->locate($parser->parse('AcmeProjectBundle::home.html.twig')); 

Per maggiori informazioni date un'occhiata al codice:

  • Symfony\Bundle\FrameworkBundle\Templating\TemplateNameParser::parse
  • Symfony\Bundle\FrameworkBundle\Templating\Loader\TemplateLocator::locate
Problemi correlati