Exemplo n.º 1
0
 function search()
 {
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         $searchKey = $this->input->post('searchKey');
         redirect("tim-kiem/" . urlencode(htmlentities($searchKey)));
     }
     $searchKey = $this->uri->segment(2, "");
     $viewType = $this->uri->segment(3, "all");
     $page = $this->uri->segment(4, "trang-1");
     $limitProduct = 50;
     $limitNews = 10;
     $dis['page'] = $page;
     //$searchKey = urldecode($searchKey);
     $searchKeyEncode = $searchKey;
     $searchKey = html_entity_decode(urldecode($searchKey));
     if ($searchKey == "") {
         $resultStatus = false;
     }
     if ($viewType == "all") {
         $resultStatus = true;
         //find dien thoai & mtb
         $phoneCat = new productcat($this->config->item('catPhoneId'));
         $phoneChildCat = $this->getListId($phoneCat->getAllChildCat());
         $tabletCat = new productcat($this->config->item('catTabletId'));
         $tabletChildCat = $this->getListId($tabletCat->getAllChildCat());
         $phoneTabletCat = array_merge($phoneChildCat, $tabletChildCat);
         $phoneTabletProduct = new product();
         $phoneTabletProduct->distinct();
         $phoneTabletProduct->group_start();
         $phoneTabletProduct->like('name', $searchKey);
         $phoneTabletProduct->or_like('searchKey', $searchKey);
         $phoneTabletProduct->group_end();
         $phoneTabletProduct->where_in_related_productcat('id', $phoneTabletCat);
         $phoneTabletProduct->where('active', 1);
         $phoneTabletProduct->order_by('id', 'desc');
         $phoneTabletProduct->group_by('id');
         $phoneTabletProduct->get_iterated(10);
         $dis['phoneTabletProduct'] = $phoneTabletProduct;
         //find accessory with the searchkey condition
         $accessoryCat = new productcat();
         $accessoryCat->where_in('id', $this->config->item('allAccessoriesId'));
         $accessoryCat->get_iterated();
         $accessoryChildCat = array();
         foreach ($accessoryCat as $row) {
             $accessoryChildCat = array_merge($accessoryChildCat, $this->getListId($row->getAllChildCat()));
         }
         $accessoryProduct = new product();
         $accessoryProduct->distinct();
         $accessoryProduct->group_start();
         $accessoryProduct->like('name', $searchKey);
         $accessoryProduct->or_like('searchKey', $searchKey);
         $accessoryProduct->group_end();
         $accessoryProduct->where_in_related_productcat('id', $accessoryChildCat);
         $accessoryProduct->where('active', 1);
         $accessoryProduct->group_by('id');
         $accessoryProduct->order_by('id', 'desc');
         $accessoryProduct->get_iterated(10);
         $dis['accessoryProduct'] = $accessoryProduct;
         //find the new by keyword
         $newCat = array(58, 59, 60, 61, 62, 64);
         $newsResult = new article();
         $newsResult->where_in('newscatalogue_id', $newCat);
         $newsResult->like('title_vietnamese', $searchKey);
         $newsResult->where('active', 1);
         $newsResult->where('recycle', 0);
         $newsResult->order_by('id', 'desc');
         $newsResult->get_iterated(10);
         $dis['newsResult'] = $newsResult;
         $dis['view'] = 'product/search_all';
     }
     if ($viewType == "dien-thoai-may-tinh-bang") {
         $resultStatus = true;
         //find dien thoai & mtb
         $phoneCat = new productcat($this->config->item('catPhoneId'));
         $phoneChildCat = $this->getListId($phoneCat->getAllChildCat());
         $tabletCat = new productcat($this->config->item('catTabletId'));
         $tabletChildCat = $this->getListId($tabletCat->getAllChildCat());
         $phoneTabletCat = array_merge($phoneChildCat, $tabletChildCat);
         $offset = ($this->getPageNumber($page) - 1) * $limitProduct;
         $phoneTabletProduct = new product();
         $phoneTabletProduct->distinct();
         $phoneTabletProduct->group_start();
         $phoneTabletProduct->like('name', $searchKey);
         $phoneTabletProduct->or_like('searchKey', $searchKey);
         $phoneTabletProduct->group_end();
         $phoneTabletProduct->where_in_related_productcat('id', $phoneTabletCat);
         $phoneTabletProduct->where('active', 1);
         $phoneTabletProduct->order_by('id', 'desc');
         $phoneTabletProduct->group_by('id');
         $phoneTabletProduct->get_paged_iterated($offset, $limitProduct);
         $dis['phoneTabletProduct'] = $phoneTabletProduct;
         $dis['view'] = 'product/search_product';
         $url = "tim-kiem/" . $searchKeyEncode . '/dien-thoai-may-tinh-bang';
         $dis['url'] = $url;
         $config['base_url'] = site_url($url . "/trang-");
         $config['total_rows'] = $phoneTabletProduct->paged->total_rows;
         $config['per_page'] = $limitProduct;
         $config['use_page_numbers'] = TRUE;
         $config['uri_segment'] = 4;
         $config['num_links'] = 3;
         $config['full_tag_open'] = '<span class="pagin">';
         $config['full_tag_close'] = "</span>";
         $config['first_link'] = FALSE;
         $config['first_tag_open'] = '';
         $config['first_tag_close'] = '';
         $config['last_link'] = FALSE;
         $config['last_tag_open'] = '';
         $config['last_tag_close'] = '';
         $config['next_link'] = '<img src="' . base_url() . 'images/pagination_next.png" />';
         $config['next_tag_open'] = '';
         $config['next_tag_close'] = '';
         $config['prev_link'] = '<img src="' . base_url() . 'images/pagination_pre.png" /';
         $config['prev_tag_open'] = '';
         $config['prev_tag_close'] = '';
         $config['num_tag_open'] = '';
         $config['num_tag_close'] = '';
         $config['cur_tag_open'] = '<span class="active fl">';
         $config['cur_tag_close'] = '</span>';
         $this->pagination->initialize($config);
     }
     if ($viewType == "phu-kien") {
         $resultStatus = true;
         //find dien thoai & mtb
         $phoneCat = new productcat($this->config->item('catPhoneId'));
         $phoneChildCat = $this->getListId($phoneCat->getAllChildCat());
         $tabletCat = new productcat($this->config->item('catTabletId'));
         $tabletChildCat = $this->getListId($tabletCat->getAllChildCat());
         $phoneTabletCat = array_merge($phoneChildCat, $tabletChildCat);
         $offset = ($this->getPageNumber($page) - 1) * $limitProduct;
         //find accessory with the searchkey condition
         $accessoryCat = new productcat();
         $accessoryCat->where_in('id', $this->config->item('allAccessoriesId'));
         $accessoryCat->get_iterated();
         $accessoryChildCat = array();
         foreach ($accessoryCat as $row) {
             $accessoryChildCat = array_merge($accessoryChildCat, $this->getListId($row->getAllChildCat()));
         }
         //$this->firephp->log($accessoryChildCat);
         $accessoryProduct = new product();
         $accessoryProduct->distinct();
         $accessoryProduct->group_start();
         $accessoryProduct->like('name', $searchKey);
         $accessoryProduct->or_like('searchKey', $searchKey);
         $accessoryProduct->group_end();
         $accessoryProduct->where_in_related_productcat('id', $accessoryChildCat);
         $accessoryProduct->where('active', 1);
         $accessoryProduct->group_by('id');
         $accessoryProduct->order_by('id', 'desc');
         $accessoryProduct->get_paged_iterated($offset, $limitProduct);
         $dis['accessoryProduct'] = $accessoryProduct;
         $dis['view'] = 'product/search_accessory';
         $url = "tim-kiem/" . $searchKeyEncode . '/phu-kien';
         $dis['url'] = $url;
         $config['base_url'] = site_url($url . "/trang-");
         $config['total_rows'] = $accessoryProduct->paged->total_rows;
         $config['per_page'] = $limitProduct;
         $config['use_page_numbers'] = TRUE;
         $config['uri_segment'] = 4;
         $config['num_links'] = 3;
         $config['full_tag_open'] = '<span class="pagin">';
         $config['full_tag_close'] = "</span>";
         $config['first_link'] = FALSE;
         $config['first_tag_open'] = '';
         $config['first_tag_close'] = '';
         $config['last_link'] = FALSE;
         $config['last_tag_open'] = '';
         $config['last_tag_close'] = '';
         $config['next_link'] = '<img src="' . base_url() . 'images/pagination_next.png" />';
         $config['next_tag_open'] = '';
         $config['next_tag_close'] = '';
         $config['prev_link'] = '<img src="' . base_url() . 'images/pagination_pre.png" /';
         $config['prev_tag_open'] = '';
         $config['prev_tag_close'] = '';
         $config['num_tag_open'] = '';
         $config['num_tag_close'] = '';
         $config['cur_tag_open'] = '<span class="active fl">';
         $config['cur_tag_close'] = '</span>';
         $this->pagination->initialize($config);
     }
     if ($viewType == "tin-tuc") {
         $resultStatus = true;
         //find dien thoai & mtb
         $phoneCat = new productcat($this->config->item('catPhoneId'));
         $phoneChildCat = $this->getListId($phoneCat->getAllChildCat());
         $tabletCat = new productcat($this->config->item('catTabletId'));
         $tabletChildCat = $this->getListId($tabletCat->getAllChildCat());
         $phoneTabletCat = array_merge($phoneChildCat, $tabletChildCat);
         $offset = ($this->getPageNumber($page) - 1) * $limitProduct;
         //find the new by keyword
         $newCat = array(58, 59, 60, 61, 62, 64);
         $newsResult = new article();
         $newsResult->where_in('newscatalogue_id', $newCat);
         $newsResult->like('title_vietnamese', $searchKey);
         $newsResult->where('active', 1);
         $newsResult->where('recycle', 0);
         $newsResult->order_by('id', 'desc');
         $newsResult->get_paged_iterated($offset, $limitNews);
         $dis['newsResult'] = $newsResult;
         $dis['view'] = 'product/search_news';
         $url = "tim-kiem/" . $searchKeyEncode . '/tin-tuc';
         $dis['url'] = $url;
         $config['base_url'] = site_url($url . "/trang-");
         $config['total_rows'] = $newsResult->paged->total_rows;
         $config['per_page'] = $limitNews;
         $config['use_page_numbers'] = TRUE;
         $config['uri_segment'] = 4;
         $config['num_links'] = 3;
         $config['full_tag_open'] = '<span class="pagin">';
         $config['full_tag_close'] = "</span>";
         $config['first_link'] = FALSE;
         $config['first_tag_open'] = '';
         $config['first_tag_close'] = '';
         $config['last_link'] = FALSE;
         $config['last_tag_open'] = '';
         $config['last_tag_close'] = '';
         $config['next_link'] = '<img src="' . base_url() . 'images/pagination_next.png" />';
         $config['next_tag_open'] = '';
         $config['next_tag_close'] = '';
         $config['prev_link'] = '<img src="' . base_url() . 'images/pagination_pre.png" /';
         $config['prev_tag_open'] = '';
         $config['prev_tag_close'] = '';
         $config['num_tag_open'] = '';
         $config['num_tag_close'] = '';
         $config['cur_tag_open'] = '<span class="active fl">';
         $config['cur_tag_close'] = '</span>';
         $this->pagination->initialize($config);
     }
     $dis['searchKey'] = $searchKey;
     $dis['base_url'] = base_url();
     $this->viewfront($dis);
 }