我正在创建一个页面,我可以在首页上加载更多“新闻”。现在有4个“新闻”,当我按下按钮加载更多时,它应该加载4个新消息。
我知道如何用普通的php和ajax做到这一点。但我不知道如何使用Symfony 2。
使用此网站,代码示例作为来源,http://www.9lessons.info/2009/12/twitter-style-load-more-results-with.html
任何帮助将不胜感激。
答案 0 :(得分:1)
创建一个单独的路由以获取更多新闻,例如news/get/[index]
,然后您的控制器从db获取新闻对象并输出为json formate,例如,
public function yourControllerAction(){
$news = //objects fetched from db
//set json header
$response = new Response();
$response->headers->set('Content-Type', 'application/json');
$response->setContent(json_encode($news);
return $response;
}
然后在您的页面中,您可以使用原始javascript或javascript模板引擎(如mustache
)填充它。您还可以检查JMSSerializerBundle以微调json输出。
答案 1 :(得分:0)
您最简单的方法是使用嵌入式控制器: http://symfony.com/doc/current/book/templating.html#embedding-controllers
给它一个默认为0或类似的值(我会建议新闻ID)。然后,如果新闻ID为0,嵌入式控制器将加载最新的4条新闻,或者加载您提供的ID之后的下一条4条新闻,这将是您显示的上一条新闻的ID。
没有代码重复。