繁体   English   中英

使用Silex的app.url_generator.generate将路由参数传递到Twig模板

[英]Passing route parameter to Twig template using Silex's app.url_generator.generate

我正在使用Silex创建一个快速的网站。 我试图将变量从路由传递到动态页面中的视图。

这是我的控制器代码:

$app->get('/clients/view/{refnum}', function (Silex\Application $app, Request $request, $refnum) {
    return $app['twig']->render('client.twig', array('flag'=>0, 'refnum' => $refnum));
})->bind('client_view');

这是我的树枝代码:

{% extends 'layout.html.twig' %}

{% block pagecontent %}

<div class="container-fluid">
    <div class="row">
<h1>Hello, {{ refnum|default('Not Found!')|capitalize }}!</h1>
    </div>
</div>

{% endblock %}

当我在浏览器中直接输入http:// foobar / clients / view / 123之类的URL时,它可以工作。

但是,我试图在我的页面中动态创建链接。

这是一个HTML片段,显示了我在做什么:

<td><a href="{{ app.url_generator.generate('client_view', {'refnum': {{refnum}}  } ) }}">John Smith</a></td>

我收到Twig异常消息:

ExpressionParser.php第281行中的Twig_Error_Syntax:哈希键必须是带引号的字符串,数字,名称或用括号括起来的表达式(行“ clients.home.twig”中值“ {”的意外标记“标点”) 47

我该如何解决?

试试看:

<td><a href="{{ app.url_generator.generate('client_view', {'refnum': refnum  } ) }}">John Smith</a></td>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM