Esempio n. 1
0
 public function executeView(sfWebRequest $request)
 {
     $category = CategoryPeer::retrieveByName($request->getParameter('category_name'));
     $this->forward404Unless($category);
     if ($category->getParentId() != 0) {
         $this->parentCategory = CategoryPeer::retrieveByPk($category->getParentId());
     } else {
         $this->subCategorys = CategoryPeer::getAllSub($category->getId());
     }
     $c = new Criteria();
     if (isset($this->subCategorys)) {
         $subCategoryIds = array();
         foreach ($this->subCategorys[$category->getId()] as $sub) {
             $subCategoryIds[] = $sub->getId();
         }
         $subCategoryIds[] = $category->getId();
         $c->add(ElementPeer::CATEGORY_ID, $subCategoryIds, Criteria::IN);
     } else {
         $c->add(ElementPeer::CATEGORY_ID, $category->getId());
     }
     $this->pager = new sfPropelPager('Element', 10);
     $this->pager->setPeerMethod('doSelectJoinAll');
     $this->pager->setCriteria($c);
     $this->pager->setPage($this->getRequestParameter('page'), 1);
     $this->pager->init();
     $this->elements = $this->pager->getResults();
     $this->category = $category;
 }