使用.twig文件添加PHP逻辑

时间:2014-07-21 20:36:18

标签: php twig

我对TWIG模板不太熟悉,我需要根据URL为模板文件添加一些逻辑。我知道如何在PHP中完成它,但在这里有点丢失。

我可以使用{{app.request.uri}}获取完整的网址,但我真正想做的是这样的:

$uri = $_SERVER['REQUEST_URI'];

if ($uri == "/page1" ||strpos($uri, "/page1/")  !== false) {
       echo " id="item1";
}

这样的事情可能吗?感谢

2 个答案:

答案 0 :(得分:2)

您可以使用in运算符进行尝试,但路由逻辑应位于模板文件之外

你应该在你的Controller中做这个逻辑并设置一个变量" true"。

Controller.php这样

$uri = $_SERVER['REQUEST_URI'];
$item = null;
if ($uri == "/page1" ||strpos($uri, "/page1/")  !== false) {
       $item = "id=item1";
}
$this->render('MyBundle:mytwig.html.twig',array("item"=>$item));

mytwig.html.twig

{% if item %}
  {{ item }} is only written if item is set
{% endif %}

答案 1 :(得分:1)

这种逻辑属于模板。将该代码保留在模板之外,并将结果分配给变量(而不是直接回显它)。将该变量传递给Twig模板。输出变量。

模板专门用于演示,而不是用于包含复杂的逻辑代码。