public function newsAction(Request $request)
 {
     $news = $this->get('doctrine')->getRepository('AcmeInfoBundle:News')->findAll();
     $order_by = '';
     //get Entity manager instance
     $em = $this->get('doctrine.orm.entity_manager');
     //get repository for class 'Language' : LanguageRepository.php
     $repository = $em->getRepository('Acme\\InfoBundle\\Entity\\News');
     //get count of languages for using with Paginator class
     //Using custom made database query function in LanguageRepository class
     $languagesCount = $repository->getIdCount();
     //When creating new paginator object it takes care for pages and items
     //organization based on numbers of items from database and limit variable in $_GET
     $paginator = new News($languagesCount);
     //get returned HTML string from Paginator to render paginator HTML
     //elements in the template
     $strPaginator = $paginator->RenderPaginator();
     //If we have POST variable defined, than it is defined order of items
     //from inside form (clicking on sorting column for example)
     $sort_direction = "asc";
     $news = $this->get('doctrine')->getRepository('AcmeInfoBundle:News')->findAll();
     $page = $languagesCount / 3;
     $news = $repository->getProductListWithPagination($sort_direction, $paginator->getOffset(), $paginator->getLimit());
     $newsletter = new \Acme\HomeBundle\Entity\Newsletter();
     $newsletter->setEmail('');
     $form = $this->createFormBuilder($newsletter)->add('email')->getForm();
     $form->handleRequest($request);
     $validator = $this->get('validator');
     $errors = $validator->validate($newsletter);
     if (count($errors) > 0) {
         return $this->render('AcmeHomeBundle:Default:news.html.twig', array('news' => $news, 'sort_dir' => $sort_direction, 'paginator' => $strPaginator, 'count' => $languagesCount, 'page' => $page, 'form' => $form->createView()));
     } else {
         if ($request->getMethod() == 'POST') {
             $a = $request->request->get('form');
             $add = Newsletter::addNewsletter($a['email']);
             return $this->render('AcmeHomeBundle:Default:news.html.twig', array('news' => $news, 'sort_dir' => $sort_direction, 'paginator' => $strPaginator, 'count' => $languagesCount, 'page' => $page, 'form' => $form->createView()));
         }
     }
     return $this->render('AcmeHomeBundle:Default:news.html.twig', array('news' => $news, 'sort_dir' => $sort_direction, 'paginator' => $strPaginator, 'count' => $languagesCount, 'page' => $page, 'form' => $form->createView()));
 }
 public function newsAction(Request $request)
 {
     $news = $this->get('doctrine')->getRepository('AcmeInfoBundle:News')->findAll();
     $order_by = '';
     //get Entity manager instance
     $em = $this->get('doctrine.orm.entity_manager');
     //get repository for class 'Language' : LanguageRepository.php
     $repository = $em->getRepository('Acme\\InfoBundle\\Entity\\News');
     //get count of languages for using with Paginator class
     //Using custom made database query function in LanguageRepository class
     $languagesCount = $repository->getIdCount();
     //When creating new paginator object it takes care for pages and items
     //organization based on numbers of items from database and limit variable in $_GET
     $paginator = new News($languagesCount);
     //get returned HTML string from Paginator to render paginator HTML
     //elements in the template
     $strPaginator = $paginator->RenderPaginator();
     //If we have POST variable defined, than it is defined order of items
     //from inside form (clicking on sorting column for example)
     $sort_direction = "asc";
     /*if ('POST' === $this->get('request')->getMethod()) {
       $order_by = array($_POST['filter_order'] => $_POST['filter_order_Dir']);
       $sort_direction = $_POST['filter_order_Dir'] == 'asc' ? 'desc' : 'asc';
       } else {
       //We know that nothing is changed for ordering columns -
       //this is alse default order of items when page is first opened
       $order_by = array('sort_order' => 'asc', 'id' => 'asc');
       $sort_direction = 'desc';
       }*/
     //To fill $languages for forwarding it to the template, we first call database function
     //with $offset and $limit to get items we wanted
     //$languages = $repository->getProductListWithPagination($order_by, $paginator->getOffset(), $paginator->getLimit());
     //Finally - return array to templating engine for displaying data.
     $news = $this->get('doctrine')->getRepository('AcmeInfoBundle:News')->findAll();
     $page = $languagesCount / 3;
     $news = $repository->getProductListWithPagination($sort_direction, $paginator->getOffset(), $paginator->getLimit());
     return $this->render('AcmeHomeBundle:Default:news.html.twig', array('news' => $news, 'sort_dir' => $sort_direction, 'paginator' => $strPaginator, 'count' => $languagesCount, 'page' => $page));
 }
 /**
  * {@inheritDoc}
  */
 public function getLimit()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLimit', array());
     return parent::getLimit();
 }