php-使用Twig模板引擎动态创建具有所需占位符(/ post / {id})的路由的链接

因此,我有一个数组,其中包含要传递给twig的帖子,Twig将使用for循环从那里输出数组中的每个帖子.我希望每个帖子都有一个删除按钮,该链接的URL上附有该帖子的ID
所以在我的for循环中,我有这样的东西:

{% for post in Posts %}
<div class="yellBox">
  <div class="col-sm-2">
    <img class="square yellBoxImage" src="https://pbs.twimg.com/profile_images/637255421099536384/dkLZc90x.jpg" alt="Avatar" />
  </div>
  <div class="yellBody col-sm-10">

    <h4><strong>{{ User.name }}</strong><span class="yellDate">- {{ post.created_at }}</span></h4>
    <p>
      {{ post.body }}
    </p>
    // other buttons

    //the delete button in question
    <a href="{{ path_for('deleteYell')}}/{{ post.id }}"><button type="button" name="button">Delete</button></a>
    <div id="test">

    </div>
  </div>
</div>
{% endfor %}

{{path_for(‘deleteYell’)}} / {{post.id}}这引发了我一个错误,说在URL末尾缺少信息,这意味着/之后没有附加post.id部分.

我的路线如下:

$this->delete('/yell/{id}', 'UserController:deleteYell')->setName('deleteYell');

我应该进行哪些更改才能使其正常工作?

解决方法:

您可以将路由的参数作为第二个参数(作为数组)传递,例如:

{{ path_for('deleteYell', { 'id': post.id }) }}

here所述,希望对您有所帮助

上一篇:PHP-Slim NotORM,选择%Like%


下一篇:PHP-将路线整理到单独的文件中,这些文件在Slim中无法正常工作