/** * Add custom fields to menu item form for render a categpru blog layout form menu item */ function addCategoryBlogLayout() { $cbCategory = $this->createElement('select', 'catid')->setLabel("LBL_CATEGORY")->setOrder($this->order++)->setRequired(true); $mdlCategory = new Content_Model_Category(); $categoryList = $mdlCategory->getSimpleList(); foreach ($categoryList as $category) { $cbCategory->addMultiOption($category->id, $category->title); } $this->addElement($cbCategory); $cbOrderField = $this->createElement('select', 'of')->setLabel("CONTENT_ORDER_FIELD")->setOrder($this->order++)->setRequired(true); # we can add more type like publish date, author name.... # by default ordering and id only $cbOrderField->addMultiOption('1', 'LBL_ORDERING'); $cbOrderField->addMultiOption('2', 'LBL_ID'); $this->addElement($cbOrderField); $cbOrderType = $this->createElement('select', 'ot')->setLabel("CONTENT_ORDER_TYPE")->setOrder($this->order++)->setRequired(true); $cbOrderType->addMultiOption('asc', 'asc'); $cbOrderType->addMultiOption('desc', 'desc'); $this->addElement($cbOrderType); }
/** * edit action for article controller * @throws Exception */ public function editAction() { // action body try { $translate = Zend_Registry::get('Zend_Translate'); $id = $this->getRequest()->getParam("id"); $mdlArticle = new Content_Model_Article(); $article = $mdlArticle->find(intval($id))->current(); if (!$article) { throw new Exception($translate->translate("LBL_ROW_NOT_FOUND")); } $frmArticle = new Content_Form_Article(); $frmArticle->setAction($this->_request->getBaseUrl() . "/content/article/edit"); $this->view->frmArticle = $frmArticle; $mdlCategory = new Content_Model_Category(); $categories = $mdlCategory->getSimpleList(); $cbParent = $frmArticle->getElement('category_id'); foreach ($categories as $category) { $cbParent->addMultiOption($category->id, $category->title); } $article->introcontent = html_entity_decode($article->introcontent); $article->content = html_entity_decode($article->content); $frmArticle->populate($article->toArray()); if ($this->getRequest()->isPost()) { if ($frmArticle->isValid($this->getRequest()->getParams())) { $article->title = $frmArticle->getElement('title')->getValue(); $article->introcontent = htmlentities($frmArticle->getElement('introcontent')->getValue()); $article->content = htmlentities($frmArticle->getElement('content')->getValue()); $article->category_id = $frmArticle->getElement('category_id')->getValue(); $article->published = $frmArticle->getElement('published')->getValue(); $article->save(); $this->_helper->flashMessenger->addMessage(array('type' => 'info', 'header' => '', 'message' => $translate->translate("LBL_ITEM_UPDATED_SUCCESSFULLY"))); $this->_helper->redirector("listregistered", "article", "content"); } } else { /*$fields = array(); foreach ( $frmArticle->getElements() as $element ) $fields[] = $element->getName(); $frmArticle->addDisplayGroup( $fields, 'form', array( 'legend' => "CONTENT_EDIT_ARTICLE", ) );*/ } } catch (Exception $e) { $this->_helper->flashMessenger->addMessage(array('type' => 'error', 'header' => '', 'message' => $e->getMessage())); $this->_helper->redirector("listregistered", "article", "content"); } return; }
/** * viewbloglayout action for category controller * @throws Zend_Exception */ public function viewbloglayoutAction() { // action body try { $translate = Zend_Registry::get('Zend_Translate'); $mdlCategory = new Content_Model_Category(); $cid = $this->getRequest()->getParam('catid', 0); $category = $mdlCategory->find(intval($cid))->current(); if (!$category) { throw new Zend_Exception($translate->translate("LBL_ROW_NOT_FOUND")); } $orderField = $this->getRequest()->getParam('of', 'ordering'); $orderType = $this->getRequest()->getParam('ot', 'asc'); $mdlArticle = new Content_Model_Article(); $adapter = $mdlArticle->getByCategory($category, $orderField, $orderType); $paginator = new Zend_Paginator($adapter); $paginator->setItemCountPerPage(10); $pageNumber = $this->getRequest()->getParam('page', 1); $paginator->setCurrentPageNumber($pageNumber); $this->view->articles = $paginator; } catch (Exception $e) { #trigger_error( $e->__toString() ); $this->_helper->flashMessenger->addMessage(array('type' => 'error', 'header' => '', 'message' => $e->getMessage())); $this->_helper->redirector("error", "error", "default"); } return; }