public function elementsListAction($BLOCK_ID, $template_code, $section_id, $params, Request $request)
 {
     $host = $request->headers->get('host');
     $cacheId = 'Novuscom\\CMFBundle\\Controller\\elementsListAction(BLOCK_ID=' . $BLOCK_ID . ')';
     $env = $this->get('kernel')->getEnvironment();
     //$cache = new \Doctrine\Common\Cache\FilesystemCache($_SERVER['DOCUMENT_ROOT'] . '/../app/cache/' . $env . '/sys/' . $host . '/elements_list/');
     $cacheDriver = new \Doctrine\Common\Cache\ApcuCache();
     if ($cacheDriver->contains($cacheId)) {
         //echo 'cache exists';
     } else {
         //echo 'cache does not exist';
     }
     if (false) {
         //if ($fooString = $cacheDriver->fetch($cacheId)) {
         //echo '<pre>' . print_r('ответ из кеша', true) . '</pre>';
         $render = unserialize($fooString);
     } else {
         /**
          * Переменные
          */
         $response = new Response();
         $em = $this->getDoctrine()->getManager();
         /**
          * Вычисление необходимой информации
          */
         $block = $em->getRepository('NovuscomCMFBundle:Block')->find($BLOCK_ID);
         //echo '<pre>' . print_r($block->getName(), true) . '</pre>';
         $ElementSection = $em->getRepository('NovuscomCMFBundle:ElementSection')->findBy(array('section' => $section_id));
         $elements_id = array();
         foreach ($ElementSection as $es) {
             //echo '<pre>' . print_r($es->getSection()->getName(), true) . '</pre>';
             $elements_id[] = $es->getElement()->getId();
         }
         $elements = array();
         if ($elements_id) {
             //$elements = $em->getRepository('NovuscomCMFBundle:Element')->findBy(array('id' => $elements_id));
             $repository = $this->getDoctrine()->getRepository('NovuscomCMFBundle:Element');
             $query = $repository->createQueryBuilder('p')->where('p.id IN(:id)')->setParameter('id', $elements_id)->orderBy('p.id', 'DESC')->getQuery();
             $elements = $query->getResult();
         } else {
             //echo '<pre>' . print_r('elements_id не указан', true) . '</pre>';
             //$elements = $em->getRepository('NovuscomCMFBundle:Element')->findBy(array('block' => $block));
             $repository = $this->getDoctrine()->getRepository('NovuscomCMFBundle:Element');
             $query = $repository->createQueryBuilder('p')->where('p.block = :block')->setParameter('block', $block)->orderBy('p.id', 'DESC')->getQuery();
             $elements = $query->getResult();
         }
         /**
          * HTTP кэширование
          */
         /*$lastModifiedTimes = array();
         		$timesArray = array();
         		foreach ($elements as $e) {
         			//echo '<pre>' . print_r($e->getLastModified(), true) . '</pre>';
         			$date = $e->getLastModified();
         			//$dateTime = new \DateTime('now');
         			$timestamp = $date->getTimestamp();
         			$lastModifiedTimes[] = $timestamp;
         			$timesArray[$timestamp] = $date;
         		}
         		if ($timesArray) {
         			//echo '<pre>' . print_r($lastModifiedTimes, true) . '</pre>';
         			$max = max($lastModifiedTimes);
         			$response->setLastModified($timesArray[$max]);
         			$eTag = $max;
         			$response->setETag($eTag);
         		}
         		$response->setSharedMaxAge(10);
         		$response->setMaxAge(10);
         		*/
         $data = array('block' => $block);
         /**
          * Получаем previewPictures
          */
         $preview_id = array();
         foreach ($elements as $e) {
             if ($e->getPreviewPicture()) {
                 $preview_id[] = $e->getPreviewPicture()->getId();
             }
         }
         if ($preview_id) {
             $em->getRepository('NovuscomCMFBundle:File')->findBy(array('id' => $preview_id));
         }
         $response->setMaxAge(60);
         $response->setSharedMaxAge(60);
         $render = $this->render('@templates/' . $params['template_directory'] . '/ElementsList/' . $template_code . '_.html.twig', array('elements' => $elements), $response);
         $cacheDriver->save($cacheId, serialize($render));
     }
     return $render;
 }