コード例 #1
0
 public function testGatherReferenceIds()
 {
     $this->helper->setHomePageGetterWrapper(new HomePageGetterWrapper(new HomePageGetter($this->getEntityManagerMock())));
     $this->helper->setHomePageRecords($this->homePageRecordsSample);
     $this->helper->gatherReferenceIds(array(array('id' => 1, 'reference_id' => 1, 'block_id' => 2)));
     $this->assertTrue(is_array($this->helper->getHomePageRecords()));
 }
コード例 #2
0
ファイル: IndexController.php プロジェクト: usban/entilocali
 public function indexAction()
 {
     $mainLayout = $this->initializeFrontendWebsite();
     $em = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
     $lang = $this->layout()->getVariable('lang');
     $configurations = $this->layout()->getVariable('configurations');
     try {
         $helper = new HomePageHelper();
         $homePageWrapper = $helper->recoverWrapper(new HomePageGetterWrapper(new HomePageGetter($em)), array('onlyActiveModules' => 1, 'orderBy' => 'homePageBlocks.position ASC', 'languageAbbreviation' => $lang));
         $homePageRecords = $homePageWrapper->getRecords();
         $helper->checkRecords($homePageRecords, 'Nessun elemento in home page');
         $sortedHomePageRecordsPerModuleCode = $helper->gatherReferenceIds($homePageWrapper->formatPerModuleCode($homePageRecords));
         $helper->checkClassMapFromRecords($sortedHomePageRecordsPerModuleCode);
         $homePageElements = array();
         foreach ($sortedHomePageRecordsPerModuleCode as $key => $value) {
             $obj = $helper->recoverClassMapKey($key);
             if (!empty($obj)) {
                 /**
                  * @var \ModelModule\Model\HomePage\HomePageBuilderAbstract $builder
                  */
                 $builder = new $obj();
                 $builder->setEntityManager($em);
                 $builder->setModuleRelatedRecords($value);
                 $homePageElements[$key] = $builder->recoverHomePageElements();
             }
         }
     } catch (NullException $e) {
         $logWriter = new LogWriter($em->getConnection());
         $logWriter->writeLog(array('user_id' => 0, 'module_id' => ModulesContainer::contenuti_id, 'message' => "Errore visualizzazione home page", 'description' => $e->getMessage(), 'reference_id' => 0, 'type' => 'error', 'backend' => 0));
     }
     $this->layout()->setVariables(array('configuraitions' => $configurations, 'homepage' => !empty($homePageElements) ? $homePageElements : null, 'templatePartial' => 'homepage/homepage.phtml'));
     $this->layout()->setTemplate($mainLayout);
 }
コード例 #3
0
 public function indexAction()
 {
     $mainLayout = $this->initializeAdminArea();
     $em = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
     $configurations = $this->layout()->getVariable('configurations');
     $lang = $this->layout()->getVariable('lang');
     try {
         $helper = new HomePageHelper();
         $homePageWrapper = $helper->recoverWrapper(new HomePageGetterWrapper(new HomePageGetter($em)), array('onlyActiveModules' => 1, 'orderBy' => 'homePageBlocks.position ASC', 'languageAbbreviation' => $lang));
         $homePageRecords = $homePageWrapper->getRecords();
         $helper->checkRecords($homePageRecords, 'Nessun elemento in home page');
         $sortedHomePageRecordsPerModuleCode = $helper->gatherReferenceIds($homePageWrapper->formatPerModuleCode($homePageRecords));
         $helper->checkClassMapFromRecords($sortedHomePageRecordsPerModuleCode);
         $homePageElements = array();
         foreach ($sortedHomePageRecordsPerModuleCode as $key => $value) {
             $obj = $helper->recoverClassMapKey($key);
             /**
              * @var \ModelModule\Model\HomePage\HomePageBuilderAbstract $builder
              */
             $builder = new $obj();
             $builder->setEntityManager($em);
             $builder->setModuleRelatedRecords($value);
             $records = $builder->recoverHomePageElements($value);
             $i = 0;
             foreach ($records as &$record) {
                 $record = array_merge($record, array('homepageId' => $value[$i]['homepageId'], 'languageId' => $value[$i]['languageId'], 'referenceId' => $value[$i]['referenceId'], 'moduleName' => $value[$i]['moduleName'], 'blockId' => $value[$i]['blockId']));
                 $i++;
             }
             $homePageElements[$key] = $records;
         }
         $this->layout()->setVariables(array('configurations' => $configurations, 'records' => !empty($homePageElements) ? $homePageElements : null, 'templatePartial' => 'homepage/homepage-manager.phtml'));
     } catch (\Exception $e) {
         $this->layout()->setVariables(array('messageType' => 'warning', 'messageTitle' => 'Problema verificato', 'messageText' => $e->getMessage(), 'templatePartial' => 'message.phtml'));
     }
     $this->layout()->setTemplate($mainLayout);
 }