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

时间:2016-11-20 06:08:31

标签: php twig url-routing slim

所以我有一个包含帖子的数组,它被传递给twig,从那里Twig将使用for循环输出数组中的每个帖子。我希望每个帖子都有一个删除按钮,其中包含一个附有该帖子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 }}这会引发一个错误,说明网址末尾缺少信息,这意味着post.id部分在/

之后没有被附加

我的路线如下:

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

我应该做些什么改变才能让它发挥作用?

1 个答案:

答案 0 :(得分:4)

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

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

正如here所述,希望此帮助