2017-08-11 228 views
0

您好我正在使用PHP和Twig来创建一个实践的博客,我想能够访问一个帖子,它完全显示在一个新的url上,对于这个我使用一个路径'/个人'使用控制器呈现一个新的页面,我想要的是能够访问任何帖子,并显示它只使用一个'.twig'文件,但我似乎没有找到一种方式找出至极岗位被点击,我知道它是与$ _GET或$ _POST但我不知道如何让帖子的ID,一些帮助,将不胜感激:)我怎么知道我点击一个HTML中的哪个链接

  {% extends "layout.twig" %} 

      {% block content %} 
       {% for blogPost in blogPosts %} 
        <div class="blog-post"> 
        <a href={{'/indiv' | url}}> <h2> {{blogPost.title}} </h2> </a> 

         <form method="get"> 
         <lable for="id"></lable> 
         <input class="btn btn-primary" type="submit" value="GotoPost"> 
         <a href={{'/indiv' | url}}> </a> 
         </input> 
         </form> 

         <p> Jan 1, 2020 by <a href=""> Alex </a> </p> 

         {% if blogPost.img_url %} 
          <div class="blog-post-image"> 
           <img src={{blogPost.img_url}} alt=""> 
          </div> 
         {% endif %} 

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

回答

1

单程:

,你必须改变你的路线,以便它接受一个参数

/indiv/{id} 

,并在你的HTML您发送的点击帖子的ID

<a href='/indiv/{{blogPost.id}}> 

另一种方式

为我可以在您的代码中看到,您正在发送表单中的数据,因此您可以在表单中使用<input type="hidden" value="{{blogPost.id}}"

我从来没有使用Twig,因此语法可能是错误的,但这是要使用的逻辑。

+0

大家好,先生,谢谢你的回答。我能像这样使用它之后知道如何访问ID吗?例如$ _GET ['id']?再次感谢:)不知道你可以通过url传递参数。 –

+0

你好,我相信这是基于[这个答案]({/ app.request.get('id')}}' (https://stackoverflow.com/a/8630619/7354094) – George

+0

well ill试试:),谢谢 –

相关问题