Example #1
0
 /**
  * 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;
 }