【问题标题】:Passing route parameter to Twig template using Silex's app.url_generator.generate使用 Silex 的 app.url_generator.generate 将路由参数传递给 Twig 模板
【发布时间】:2023-03-25 02:25:02
【问题描述】:

我正在使用 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 sn-p 显示我在做什么:

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

我收到 Twig 异常消息:

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

我该如何解决这个问题?

【问题讨论】:

    标签: php twig silex


    【解决方案1】:

    试试看:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2014-07-17
      相关资源
      最近更新 更多