在我学习Symfony (第3版)的过程中,我构建了一个带有过滤器表单的客户列表。我在互联网上搜索了一些例子,根据提供过滤器对表结果进行了解释。大多数信息都是关于现有的捆绑包,如stwe/DatatablesBundle或将Symfony与角度/ReactJS结合使用。
最后一个选项实际上非常有趣,但是作为一个开始的Symfony开发人员,我更感兴趣的是从零开始在Symfony/Javascript或JQuery中构建这个功能。换句话说,指令类似于database.asp,但特定于Symfony。
我熟悉创建JSON响应,但是绑定数据的最佳方法是什么?用JQuery写出来?.
谢谢你的建议。
发布于 2016-02-17 07:52:04
在我看来,最好的方法是有一个只呈现数据行的模板。然后创建一个Controller操作,其目的是使用过滤器获取数据,并使用data_rows
模板呈现该数据。
public function tableAction(Request $request)
{
$filters = // ...
$rows = $repository->findAllWithFilters($filters);
// ...
return $this->render('data_rows.html.twig', ['rows' => $rows]);
}
最后,在“主”操作中使用render controller
将此请求作为主视图的子请求包括在内:
{{ render(controller('AppBundle:Default:table', {'filters': filters})) }}
完成后,您可以在您的tableAction
脚本中直接调用jQuery路由,这将返回呈现的行。只需在HTML中附加行,就可以继续了。
https://stackoverflow.com/questions/35459969
复制