Bonjour,
Je cherche à faire fonctionner la fonction template_from_string de Twig.
Je précise que j'utilise Twig sans Symfony.
Voilà ce que j'ai fait :
La fonction qui lance Twig et fait un render :
Mes templates :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php require_once '../vendor/autoload.php'; $loader = new Twig_Loader_Filesystem('templates'); $twig = new Twig_Environment($loader); $twig->addExtension(new Twig_Extension_StringLoader()); echo $twig->render('templateTypeImpression.html.twig', array('fieldType' => 'Select', 'fieldName' => 'test')); ?>
templateTypeImpression.html.twig
templateSelect.html.twig
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <div style="float:left;"> <label>{{ fieldName }}</label> </div> {% include template_from_string('template{{ fieldType }}.html.twig') %} {#{% include 'templateSelect.html.twig' %}#}
Et quand je render mon templateTypeImpression j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<select name="{{ fieldName }}"> </select>
testtemplateSelect.html.twig
Pas moyen de lui faire comprendre que je veux inclure dynamiquement le templateSelect.html.twig parce que ma variable fieldType est égale à Select ...
Sinon quand je fais un include directement de templateSelect.html.twig comme j'ai commenté, il le reconnaît
Si quelqu'un a une idée, merci !
Grokh
Partager