3

我正在创建一个页面,我可以在首页上加载更多“新闻”。现在有 4 个“新闻”,当我按下按钮加载更多时,它应该加载 4 个新新闻。

我知道如何使用普通的 php 和 ajax 来做到这一点。但我不知道如何用 Symfony 2 做到这一点。

使用此站点,代码示例作为源,http://www.9lessons.info/2009/12/twitter-style-load-more-results-with.html

任何帮助将不胜感激。

4

2 回答 2

1

创建一个单独的路由以获取更多新闻,例如news/get/[index],然后您的控制器从数据库中获取新闻对象并输出为 json 格式,例如,

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 输出。

于 2012-04-12T10:58:32.143 回答
0

您最简单的方法是使用嵌入式控制器: http ://symfony.com/doc/current/book/templating.html#embedding-controllers

给它一个默认为 0 或类似的值(我建议使用新闻 id)。然后,如果新闻 id 为 0,嵌入式控制器会加载最新的 4 条新闻,或者会加载您提供的 id 之后的下 4 条新闻,这将是您显示的最后一条新闻的 id。

没有代码重复。

于 2012-04-12T10:14:58.423 回答