public function indexAction()
 {
     /*--search---*/
     $search_pid = trim($this->_getParam('productIdentifier'));
     $search_pname = trim($this->_getParam('labelCase'));
     if ($this->_getParam('packLocation')) {
         $search_plocation = trim(implode(',', $this->_getParam('packLocation')));
     } else {
         $search_plocation = '';
     }
     /*---sorting ----*/
     $order = trim($this->_getParam('order', ""));
     $col = trim($this->_getParam('col', ""));
     $form = new Admin_Form_Product();
     $elements = $form->getElements();
     $form->clearDecorators();
     foreach ($elements as $element) {
         $element->removeDecorator('label');
         $element->removeDecorator('row');
         $element->removeDecorator('data');
         $element->removeDecorator('required');
         //$element->removeDecorator('Errors');
     }
     //remove fields do not need to display in Edit
     $usersNs = new Zend_Session_Namespace("members");
     $form->removeElement('caseFormat');
     $form->removeElement('partNumber');
     $form->removeElement('sellByDays');
     $form->removeElement('priceLb');
     $form->removeElement('palletId');
     $form->removeElement('desLine1');
     $form->removeElement('desLine2');
     $form->removeElement('desLine3');
     $form->removeElement('desLine4');
     $form->removeElement('lowerWeight');
     $form->removeElement('fixedWeight');
     $form->removeElement('heighWeight');
     $form->removeElement('tareWeight');
     $form->removeElement('requiredApp');
     if ($order != "" && $col != "") {
         if ($col == "pack_location") {
             $strOrderBy = "p.pack_location {$order}";
         }
     } else {
         $strOrderBy = "p.product_identifier asc";
     }
     $this->view->sortOptions = array();
     /*-----sorting----------*/
     $where = "p.id<>'-2147483648'";
     $this->view->linkArray = array();
     $this->view->search = "";
     if ($search_pid != "" || $search_pname != "" || $search_plocation != "") {
         $params = $this->_getAllParams();
         $where = "(product_identifier like '%{$search_pid}%') AND (label_case like '%{$search_pname}%') AND (pack_location like '%{$search_plocation}%') AND {$where} ";
         $this->view->linkArray = array('productIdentifier' => $search_pid);
         //$form->productIdentifier->setValue($search_pid);
         //$form->labelCase->setValue($search_pname);
         $this->view->sortOptions['productIdentifier'] = $search_pid;
         $this->view->sortOptions['labelCase'] = $search_pname;
         $this->view->sortOptions['packLocation'] = $search_plocation;
         $form->populate($params);
         //print_r($params);
     }
     $page_size = Zend_Registry::get('page_size');
     $page = $this->_getParam('page', 1);
     $model = new Admin_Model_Product();
     $table = $model->getMapper()->getDbTable();
     $select = $table->select()->setIntegrityCheck(false)->from(array("p" => 'product'))->order("{$strOrderBy}")->where($where);
     $sql = $select->__toString();
     $paginator = Base_Paginator::factory($select);
     $paginator->setItemCountPerPage($page_size);
     $paginator->setCurrentPageNumber($page);
     $this->view->totalItems = $paginator->getTotalItemCount();
     $this->view->paginator = $paginator;
     $this->view->form = $form;
 }