簡體   English   中英

用TWIG加載宏

[英]Load macro with TWIG

我在項目中安裝了TWIG,但無法加載宏,我想創建一個文件測試(例如testmacro.twig),該文件調用我的宏(例如test.twig),但我不能:(

測試樹枝

{% macro test (options) %}

    {% if options.titre is not empty %}
        coucou {{ options.titre }}
    {% endif %}     

{% endmacro }

睾丸微枝

{% import "/home/valentin/Bureau/htdocs/templates/test.twig" as test %}

{{ test.test ({ titre : 'aaaaaaah' }) }}

錯誤:

Fatal error: Uncaught exception 'Twig_Error_Loader' with message 'Unable to find template "/home/valentin/Bureau/htdocs/templates/test.twig" (looked into: templates) in "testmacro.twig" at line 1.' in /opt/lampp/htdocs/Twig/Loader/Filesystem.php:215 Stack trace: #0 /opt/lampp/htdocs/Twig/Loader/Filesystem.php(139): Twig_Loader_Filesystem->findTemplate('/home/valentin/...') #1 /opt/lampp/htdocs/Twig/Environment.php(312): Twig_Loader_Filesystem->getCacheKey('/home/valentin/...') #2 /opt/lampp/htdocs/Twig/Environment.php(378): Twig_Environment->getTemplateClass('/home/valentin/...', NULL) #3 /opt/lampp/htdocs/Twig/Template.php(286): Twig_Environment->loadTemplate('/home/valentin/...', NULL) #4 /opt/lampp/htdocs/Twig/Environment.php(403) : eval()'d code(19): Twig_Template->loadTemplate('/home/valentin/...', 'testmacro.twig', 1) #5 /opt/lampp/htdocs/Twig/Template.php(387): __TwigTemplate_e0a6b64206d91d57c5131f111d33ce0450565dc8429fccbaf4af635b1ac6ec27->doDisplay(Array, Array) #6 /opt/lampp/htdocs/Twig/Template.php(355): Twig_T in /opt/lampp/htdocs/Twig/Loader/Filesystem.php on line 215

twig.php:

<?php
include_once('Twig/Autoloader.php');
Twig_Autoloader::register();

$loader = new Twig_Loader_Filesystem('templates'); // Dossier contenant les templates
$twig = new Twig_Environment($loader, array(
  'cache' => false
));

index.php

<?php
include('twig.php');
$template = $twig->loadTemplate('testmacro.twig');
echo $template->render(array()); 

?>

我不明白..:/

你能幫我嗎 ? 提前致謝 !

模板路徑相對於您在Twig_Loader_Filesystem設置為參數的文件夾:

$loader = new Twig_Loader_Filesystem('templates');

因此,在您的情況下,模板路徑從文件夾templates開始,這對於includesmacros ...也是正確的:

{% import 'test.twig' as test %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM