コード例 #1
0
 /**
  * Populate content for the request
  *
  * @param Route $route
  * @param Request $request
  */
 protected function populateContent(Route $route, Request $request)
 {
     $content = $route->getContent();
     $name = $content;
     if ($route->isList()) {
         $name .= 's';
         $value = $this->repository->getContents($content, $route->getIndexBy(), $route->getOrder());
         if ($route->isPaginated()) {
             $paginator = new Paginator($value, $route->getPerPage());
             $value = $paginator->get($request->attributes->get('page'));
             $request->attributes->set('paginator', $paginator);
         }
     } else {
         $value = $this->repository->getContent($content, $request->attributes->get($content));
     }
     $request->attributes->set($name, $value);
 }
コード例 #2
0
ファイル: BlogController.php プロジェクト: Tom32i/portfolio
 /**
  * List
  *
  * @param Request $request
  * @param Application $app
  * @param integer $page
  *
  * @return Response
  */
 public function index(Request $request, Application $app, Paginator $paginator, array $articles, $page = 1)
 {
     return ['articles' => $articles, 'pages' => $paginator->count(), 'page' => $page];
 }
コード例 #3
0
ファイル: BuildCommand.php プロジェクト: phpillip/phpillip
 /**
  * Build paginated route
  *
  * @param Route $route
  * @param string $name
  */
 protected function buildPaginatedRoute(Route $route, $name)
 {
     $contentType = $route->getContent();
     $contents = $this->app['content_repository']->listContents($contentType);
     $paginator = new Paginator($contents, $route->getPerPage());
     $this->logger->log(sprintf('Building route <comment>%s</comment> for <info>%s</info> pages', $name, $paginator->count()));
     $this->logger->getProgress($paginator->count());
     $this->logger->start();
     foreach ($paginator as $index => $contents) {
         $this->builder->build($route, $name, ['page' => $index + 1]);
         $this->logger->advance();
     }
     $this->logger->finish();
 }