【发布时间】:2017-08-03 02:49:05
【问题描述】:
我正在构建一个用户发布帖子的 Web 应用程序。该帖子包括类别和位置。我可以分别查看类别和位置的帖子。
我想要做的是过滤视图以仅列出来自某个位置的类别列表。例如,当我单击鞋子类别时,我想过滤以仅显示美国位置而留下其他位置。谢谢
控制器:
public function catergoryitemsAction($name)
{
$em = $this->getDoctrine()->getManager();
$category = $em->getRepository('KaftanAvenueBundle:Category')->find($name);
return $this->render('@KaftanAvenue/Page/categoryitems.html.twig',
['category' => $category]);
}
public function locationitemsAction($name)
{
$em = $this->getDoctrine()->getManager();
$location = $em->getRepository('KaftanAvenueBundle:State')->find($name);
return $this->render('@KaftanAvenue/Page/locationitems.html.twig',
['location' => $location]);
}
路由:
categoryitems:
path: /category/{name}
defaults: {_controller: KaftanAvenueBundle:Page:catergoryitems}
locationitems:
path: /location/{name}
defaults: {_controller: KaftanAvenueBundle:Page:locationitems}
树枝:
{% extends "::base.html.twig" %}
{% block body %}
<div class="container">
{{ category.name }}
<div class="row">
{% for entry in category.ads %}
<div class="media">
<div class="media-left">
<img src="{{ asset('images/'~ entry.imageName ) }}" class="media-object" style="width:100px">
</div>
<div class="media-body">
<h4 class="media-heading" ><a style="color: #550000" href="{{ path('view',{id : entry.id}) }}">{{ entry.title }}</a></h4>
<p>Price: {{ entry.price }}
<br>
Created: {{ entry.timestamp | date('d/m/y') }}
<br>
</p>
</div>
</div>
<hr>
{% endfor %}
</div>
</div>
{% endblock %}
index.html.twig
{% extends "::base.html.twig" %}
{% block body %}
<header class="page-heading">
<div class="container">
</div>
</header>
<div class="container marketing">
<div class="row">
<div class="col-lg-2">
<a href="{{ path('categoryitems',{ 'name' : category.id}) }} "> <img class="img-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140">
<h4>Cap</h4></a>
</div>
<!-- /.col-lg-4 -->
</div>
</div>
{% 端块 %}
【问题讨论】:
标签: symfony doctrine twig entitymanager symfony-routing