示例#1
0
文件: category.php 项目: blogfor/pci
 public function index()
 {
     $this->language->load('product/category');
     $this->load->model('catalog/category');
     $this->load->model('catalog/product');
     $this->load->model('tool/image');
     if (isset($this->request->get['filter'])) {
         $filter = $this->request->get['filter'];
     } else {
         $filter = '';
     }
     if (isset($this->request->get['sort'])) {
         $sort = $this->request->get['sort'];
     } else {
         $sort = 'p.sort_order';
     }
     if (isset($this->request->get['order'])) {
         $order = $this->request->get['order'];
     } else {
         $order = 'ASC';
     }
     if (isset($this->request->get['page'])) {
         $page = $this->request->get['page'];
     } else {
         $page = 1;
     }
     if (isset($this->request->get['limit'])) {
         $limit = $this->request->get['limit'];
     } else {
         $limit = $this->config->get('config_catalog_limit');
     }
     $this->data['breadcrumbs'] = array();
     $this->data['breadcrumbs'][] = array('text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false);
     if (isset($this->request->get['path'])) {
         $url = '';
         if (isset($this->request->get['sort'])) {
             $url .= '&sort=' . $this->request->get['sort'];
         }
         if (isset($this->request->get['order'])) {
             $url .= '&order=' . $this->request->get['order'];
         }
         if (isset($this->request->get['limit'])) {
             $url .= '&limit=' . $this->request->get['limit'];
         }
         $path = '';
         $parts = explode('_', (string) $this->request->get['path']);
         $category_id = (int) array_pop($parts);
         foreach ($parts as $path_id) {
             if (!$path) {
                 $path = (int) $path_id;
             } else {
                 $path .= '_' . (int) $path_id;
             }
             $category_info = $this->model_catalog_category->getCategory($path_id);
             if ($category_info) {
                 $this->data['breadcrumbs'][] = array('text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path . $url), 'separator' => $this->language->get('text_separator'));
             }
         }
     } else {
         $category_id = 0;
     }
     $category_info = $this->model_catalog_category->getCategory($category_id);
     if ($category_info) {
         $this->document->setTitle($category_info['name']);
         $this->document->setDescription($category_info['meta_description']);
         $this->document->setKeywords($category_info['meta_keyword']);
         $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js');
         $this->data['heading_title'] = $category_info['name'];
         $this->data['text_refine'] = $this->language->get('text_refine');
         $this->data['text_empty'] = $this->language->get('text_empty');
         $this->data['text_quantity'] = $this->language->get('text_quantity');
         $this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
         $this->data['text_model'] = $this->language->get('text_model');
         $this->data['text_price'] = $this->language->get('text_price');
         $this->data['text_tax'] = $this->language->get('text_tax');
         $this->data['text_points'] = $this->language->get('text_points');
         $this->data['text_compare'] = sprintf($this->language->get('text_compare'), isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0);
         $this->data['text_display'] = $this->language->get('text_display');
         $this->data['text_list'] = $this->language->get('text_list');
         $this->data['text_grid'] = $this->language->get('text_grid');
         $this->data['text_sort'] = $this->language->get('text_sort');
         $this->data['text_limit'] = $this->language->get('text_limit');
         $this->data['button_cart'] = $this->language->get('button_cart');
         $this->data['button_wishlist'] = $this->language->get('button_wishlist');
         $this->data['button_compare'] = $this->language->get('button_compare');
         $this->data['button_continue'] = $this->language->get('button_continue');
         // Set the last category breadcrumb
         $url = '';
         if (isset($this->request->get['sort'])) {
             $url .= '&sort=' . $this->request->get['sort'];
         }
         if (isset($this->request->get['order'])) {
             $url .= '&order=' . $this->request->get['order'];
         }
         if (isset($this->request->get['page'])) {
             $url .= '&page=' . $this->request->get['page'];
         }
         if (isset($this->request->get['limit'])) {
             $url .= '&limit=' . $this->request->get['limit'];
         }
         $this->data['breadcrumbs'][] = array('text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator'));
         if ($category_info['image']) {
             $this->data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'));
         } else {
             $this->data['thumb'] = '';
         }
         $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
         $this->data['compare'] = $this->url->link('product/compare');
         $url = '';
         if (isset($this->request->get['filter'])) {
             $url .= '&filter=' . $this->request->get['filter'];
         }
         if (isset($this->request->get['sort'])) {
             $url .= '&sort=' . $this->request->get['sort'];
         }
         if (isset($this->request->get['order'])) {
             $url .= '&order=' . $this->request->get['order'];
         }
         if (isset($this->request->get['limit'])) {
             $url .= '&limit=' . $this->request->get['limit'];
         }
         $this->data['categories'] = array();
         $results = $this->model_catalog_category->getCategories($category_id);
         foreach ($results as $result) {
             $data = array('filter_category_id' => $result['category_id'], 'filter_sub_category' => true);
             $product_total = $this->model_catalog_product->getTotalProducts($data);
             $this->data['categories'][] = array('name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url));
         }
         $this->data['products'] = array();
         $data = array('filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit);
         if (isset($this->request->get['price_range'])) {
             $_SESSION['price_search'] = $this->request->get['price_range'];
             $data['price_range'] = $this->request->get['price_range'];
         } else {
             if (isset($_SESSION['price_search'])) {
                 $data['price_range'] = $_SESSION['price_search'];
             }
         }
         $product_total = $this->model_catalog_product->getTotalProducts($data);
         $results = $this->model_catalog_product->getProducts($data);
         foreach ($results as $result) {
             if ($result['image']) {
                 $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
             } else {
                 $image = false;
             }
             if ($this->config->get('config_customer_price') && $this->customer->isLogged() || !$this->config->get('config_customer_price')) {
                 $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
             } else {
                 $price = false;
             }
             if ((double) $result['special']) {
                 $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
             } else {
                 $special = false;
             }
             if ($this->config->get('config_tax')) {
                 $tax = $this->currency->format((double) $result['special'] ? $result['special'] : $result['price']);
             } else {
                 $tax = false;
             }
             if ($this->config->get('config_review_status')) {
                 $rating = (int) $result['rating'];
             } else {
                 $rating = false;
             }
             $this->data['products'][] = array('product_id' => $result['product_id'], 'product_model' => $result['model'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int) $result['reviews']), 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url));
         }
         $url = '';
         if (isset($this->request->get['filter'])) {
             $url .= '&filter=' . $this->request->get['filter'];
         }
         if (isset($this->request->get['limit'])) {
             $url .= '&limit=' . $this->request->get['limit'];
         }
         $this->data['sorts'] = array();
         $this->data['sorts'][] = array('text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url));
         if ($this->config->get('config_review_status')) {
             $this->data['sorts'][] = array('text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url));
             $this->data['sorts'][] = array('text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url));
         }
         $this->data['sorts'][] = array('text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url));
         $url = '';
         if (isset($this->request->get['filter'])) {
             $url .= '&filter=' . $this->request->get['filter'];
         }
         if (isset($this->request->get['sort'])) {
             $url .= '&sort=' . $this->request->get['sort'];
         }
         if (isset($this->request->get['order'])) {
             $url .= '&order=' . $this->request->get['order'];
         }
         $this->data['limits'] = array();
         $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100));
         sort($limits);
         foreach ($limits as $limits) {
             $this->data['limits'][] = array('text' => $limits, 'value' => $limits, 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $limits));
         }
         $url = '';
         if (isset($this->request->get['filter'])) {
             $url .= '&filter=' . $this->request->get['filter'];
         }
         if (isset($this->request->get['sort'])) {
             $url .= '&sort=' . $this->request->get['sort'];
         }
         if (isset($this->request->get['order'])) {
             $url .= '&order=' . $this->request->get['order'];
         }
         if (isset($this->request->get['limit'])) {
             $url .= '&limit=' . $this->request->get['limit'];
         }
         $pagination = new Pagination();
         $pagination->total = $product_total;
         $pagination->page = $page;
         $pagination->limit = $limit;
         $pagination->text = $this->language->get('text_pagination');
         $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}');
         $this->data['pagination'] = $pagination->render();
         $this->data['sort'] = $sort;
         $this->data['order'] = $order;
         $this->data['limit'] = $limit;
         $this->data['continue'] = $this->url->link('common/home');
         if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
             $this->template = $this->config->get('config_template') . '/template/product/category.tpl';
         } else {
             $this->template = 'default/template/product/category.tpl';
         }
         $this->children = array('common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header');
         $magicContent = $this->render(TRUE);
         /* Magictoolbox magiczoomplus module BEGIN */
         $magicContent = magiczoomplus($magicContent, $this, 'category', $results);
         /* Magictoolbox magiczoomplus module END */
         $this->response->setOutput($magicContent, $this->config->get('config_compression'));
     } else {
         $url = '';
         if (isset($this->request->get['path'])) {
             $url .= '&path=' . $this->request->get['path'];
         }
         if (isset($this->request->get['filter'])) {
             $url .= '&filter=' . $this->request->get['filter'];
         }
         if (isset($this->request->get['sort'])) {
             $url .= '&sort=' . $this->request->get['sort'];
         }
         if (isset($this->request->get['order'])) {
             $url .= '&order=' . $this->request->get['order'];
         }
         if (isset($this->request->get['page'])) {
             $url .= '&page=' . $this->request->get['page'];
         }
         if (isset($this->request->get['limit'])) {
             $url .= '&limit=' . $this->request->get['limit'];
         }
         $this->data['breadcrumbs'][] = array('text' => $this->language->get('text_error'), 'href' => $this->url->link('product/category', $url), 'separator' => $this->language->get('text_separator'));
         $this->document->setTitle($this->language->get('text_error'));
         $this->data['heading_title'] = $this->language->get('text_error');
         $this->data['text_error'] = $this->language->get('text_error');
         $this->data['button_continue'] = $this->language->get('button_continue');
         $this->data['continue'] = $this->url->link('common/home');
         if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
             $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl';
         } else {
             $this->template = 'default/template/error/not_found.tpl';
         }
         $this->children = array('common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header');
         $this->response->setOutput($this->render());
     }
 }
示例#2
0
文件: search.php 项目: blogfor/pcu
 public function index()
 {
     $this->language->load('product/search');
     $this->load->model('catalog/category');
     $this->load->model('catalog/product');
     $this->load->model('tool/image');
     if (isset($this->request->get['search'])) {
         $search = $this->request->get['search'];
     } else {
         $search = '';
     }
     if (isset($this->request->get['tag'])) {
         $tag = $this->request->get['tag'];
     } elseif (isset($this->request->get['search'])) {
         $tag = $this->request->get['search'];
     } else {
         $tag = '';
     }
     if (isset($this->request->get['description'])) {
         $description = $this->request->get['description'];
     } else {
         $description = '';
     }
     if (isset($this->request->get['category_id'])) {
         $category_id = $this->request->get['category_id'];
     } else {
         $category_id = 0;
     }
     if (isset($this->request->get['sub_category'])) {
         $sub_category = $this->request->get['sub_category'];
     } else {
         $sub_category = '';
     }
     if (isset($this->request->get['sort'])) {
         $sort = $this->request->get['sort'];
     } else {
         $sort = 'p.sort_order';
     }
     if (isset($this->request->get['order'])) {
         $order = $this->request->get['order'];
     } else {
         $order = 'ASC';
     }
     if (isset($this->request->get['page'])) {
         $page = $this->request->get['page'];
     } else {
         $page = 1;
     }
     if (isset($this->request->get['limit'])) {
         $limit = $this->request->get['limit'];
     } else {
         $limit = $this->config->get('config_catalog_limit');
     }
     if (isset($this->request->get['search'])) {
         $this->document->setTitle($this->language->get('heading_title') . ' - ' . $this->request->get['search']);
     } else {
         $this->document->setTitle($this->language->get('heading_title'));
     }
     $this->document->addScript('catalog/view/javascript/jquery/jquery.total-storage.min.js');
     $this->data['breadcrumbs'] = array();
     $this->data['breadcrumbs'][] = array('text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'), 'separator' => false);
     $url = '';
     if (isset($this->request->get['search'])) {
         $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8'));
     }
     if (isset($this->request->get['tag'])) {
         $url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8'));
     }
     if (isset($this->request->get['description'])) {
         $url .= '&description=' . $this->request->get['description'];
     }
     if (isset($this->request->get['category_id'])) {
         $url .= '&category_id=' . $this->request->get['category_id'];
     }
     if (isset($this->request->get['sub_category'])) {
         $url .= '&sub_category=' . $this->request->get['sub_category'];
     }
     if (isset($this->request->get['sort'])) {
         $url .= '&sort=' . $this->request->get['sort'];
     }
     if (isset($this->request->get['order'])) {
         $url .= '&order=' . $this->request->get['order'];
     }
     if (isset($this->request->get['page'])) {
         $url .= '&page=' . $this->request->get['page'];
     }
     if (isset($this->request->get['limit'])) {
         $url .= '&limit=' . $this->request->get['limit'];
     }
     $this->data['breadcrumbs'][] = array('text' => $this->language->get('heading_title'), 'href' => $this->url->link('product/search', $url), 'separator' => $this->language->get('text_separator'));
     if (isset($this->request->get['search'])) {
         $this->data['heading_title'] = $this->language->get('heading_title') . ' - ' . $this->request->get['search'];
     } else {
         $this->data['heading_title'] = $this->language->get('heading_title');
     }
     $this->data['text_empty'] = $this->language->get('text_empty');
     $this->data['text_critea'] = $this->language->get('text_critea');
     $this->data['text_search'] = $this->language->get('text_search');
     $this->data['text_keyword'] = $this->language->get('text_keyword');
     $this->data['text_category'] = $this->language->get('text_category');
     $this->data['text_sub_category'] = $this->language->get('text_sub_category');
     $this->data['text_quantity'] = $this->language->get('text_quantity');
     $this->data['text_manufacturer'] = $this->language->get('text_manufacturer');
     $this->data['text_model'] = $this->language->get('text_model');
     $this->data['text_price'] = $this->language->get('text_price');
     $this->data['text_tax'] = $this->language->get('text_tax');
     $this->data['text_points'] = $this->language->get('text_points');
     $this->data['text_compare'] = sprintf($this->language->get('text_compare'), isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0);
     $this->data['text_display'] = $this->language->get('text_display');
     $this->data['text_list'] = $this->language->get('text_list');
     $this->data['text_grid'] = $this->language->get('text_grid');
     $this->data['text_sort'] = $this->language->get('text_sort');
     $this->data['text_limit'] = $this->language->get('text_limit');
     $this->data['entry_search'] = $this->language->get('entry_search');
     $this->data['entry_description'] = $this->language->get('entry_description');
     $this->data['button_search'] = $this->language->get('button_search');
     $this->data['button_cart'] = $this->language->get('button_cart');
     $this->data['button_wishlist'] = $this->language->get('button_wishlist');
     $this->data['button_compare'] = $this->language->get('button_compare');
     $this->data['compare'] = $this->url->link('product/compare');
     $this->load->model('catalog/category');
     // 3 Level Category Search
     $this->data['categories'] = array();
     $categories_1 = $this->model_catalog_category->getCategories(0);
     foreach ($categories_1 as $category_1) {
         $level_2_data = array();
         $categories_2 = $this->model_catalog_category->getCategories($category_1['category_id']);
         foreach ($categories_2 as $category_2) {
             $level_3_data = array();
             $categories_3 = $this->model_catalog_category->getCategories($category_2['category_id']);
             foreach ($categories_3 as $category_3) {
                 $level_3_data[] = array('category_id' => $category_3['category_id'], 'name' => $category_3['name']);
             }
             $level_2_data[] = array('category_id' => $category_2['category_id'], 'name' => $category_2['name'], 'children' => $level_3_data);
         }
         $this->data['categories'][] = array('category_id' => $category_1['category_id'], 'name' => $category_1['name'], 'children' => $level_2_data);
     }
     $this->data['products'] = array();
     if (isset($this->request->get['search']) || isset($this->request->get['filter_tag'])) {
         $data = array('filter_name' => $search, 'filter_tag' => $tag, 'filter_description' => $description, 'filter_category_id' => $category_id, 'filter_sub_category' => $sub_category, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit);
         $product_total = $this->model_catalog_product->getTotalProducts($data);
         $results = $this->model_catalog_product->getProducts($data);
         foreach ($results as $result) {
             if ($result['image']) {
                 $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
             } else {
                 $image = false;
             }
             if ($this->config->get('config_customer_price') && $this->customer->isLogged() || !$this->config->get('config_customer_price')) {
                 $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
             } else {
                 $price = false;
             }
             if ((double) $result['special']) {
                 $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
             } else {
                 $special = false;
             }
             if ($this->config->get('config_tax')) {
                 $tax = $this->currency->format((double) $result['special'] ? $result['special'] : $result['price']);
             } else {
                 $tax = false;
             }
             if ($this->config->get('config_review_status')) {
                 $rating = (int) $result['rating'];
             } else {
                 $rating = false;
             }
             $this->data['products'][] = array('product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $result['rating'], 'reviews' => sprintf($this->language->get('text_reviews'), (int) $result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id'] . $url));
         }
         $url = '';
         if (isset($this->request->get['search'])) {
             $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8'));
         }
         if (isset($this->request->get['tag'])) {
             $url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8'));
         }
         if (isset($this->request->get['description'])) {
             $url .= '&description=' . $this->request->get['description'];
         }
         if (isset($this->request->get['category_id'])) {
             $url .= '&category_id=' . $this->request->get['category_id'];
         }
         if (isset($this->request->get['sub_category'])) {
             $url .= '&sub_category=' . $this->request->get['sub_category'];
         }
         if (isset($this->request->get['limit'])) {
             $url .= '&limit=' . $this->request->get['limit'];
         }
         $this->data['sorts'] = array();
         $this->data['sorts'][] = array('text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/search', 'sort=p.sort_order&order=ASC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_name_asc'), 'value' => 'pd.name-ASC', 'href' => $this->url->link('product/search', 'sort=pd.name&order=ASC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_name_desc'), 'value' => 'pd.name-DESC', 'href' => $this->url->link('product/search', 'sort=pd.name&order=DESC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_price_asc'), 'value' => 'p.price-ASC', 'href' => $this->url->link('product/search', 'sort=p.price&order=ASC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_price_desc'), 'value' => 'p.price-DESC', 'href' => $this->url->link('product/search', 'sort=p.price&order=DESC' . $url));
         if ($this->config->get('config_review_status')) {
             $this->data['sorts'][] = array('text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/search', 'sort=rating&order=DESC' . $url));
             $this->data['sorts'][] = array('text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/search', 'sort=rating&order=ASC' . $url));
         }
         $this->data['sorts'][] = array('text' => $this->language->get('text_model_asc'), 'value' => 'p.model-ASC', 'href' => $this->url->link('product/search', 'sort=p.model&order=ASC' . $url));
         $this->data['sorts'][] = array('text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/search', 'sort=p.model&order=DESC' . $url));
         $url = '';
         if (isset($this->request->get['search'])) {
             $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8'));
         }
         if (isset($this->request->get['tag'])) {
             $url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8'));
         }
         if (isset($this->request->get['description'])) {
             $url .= '&description=' . $this->request->get['description'];
         }
         if (isset($this->request->get['category_id'])) {
             $url .= '&category_id=' . $this->request->get['category_id'];
         }
         if (isset($this->request->get['sub_category'])) {
             $url .= '&sub_category=' . $this->request->get['sub_category'];
         }
         if (isset($this->request->get['sort'])) {
             $url .= '&sort=' . $this->request->get['sort'];
         }
         if (isset($this->request->get['order'])) {
             $url .= '&order=' . $this->request->get['order'];
         }
         $this->data['limits'] = array();
         $limits = array_unique(array($this->config->get('config_catalog_limit'), 25, 50, 75, 100));
         sort($limits);
         foreach ($limits as $limits) {
             $this->data['limits'][] = array('text' => $limits, 'value' => $limits, 'href' => $this->url->link('product/search', $url . '&limit=' . $limits));
         }
         $url = '';
         if (isset($this->request->get['search'])) {
             $url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8'));
         }
         if (isset($this->request->get['tag'])) {
             $url .= '&tag=' . urlencode(html_entity_decode($this->request->get['filter_tag'], ENT_QUOTES, 'UTF-8'));
         }
         if (isset($this->request->get['description'])) {
             $url .= '&description=' . $this->request->get['description'];
         }
         if (isset($this->request->get['category_id'])) {
             $url .= '&category_id=' . $this->request->get['category_id'];
         }
         if (isset($this->request->get['sub_category'])) {
             $url .= '&sub_category=' . $this->request->get['sub_category'];
         }
         if (isset($this->request->get['sort'])) {
             $url .= '&sort=' . $this->request->get['sort'];
         }
         if (isset($this->request->get['order'])) {
             $url .= '&order=' . $this->request->get['order'];
         }
         if (isset($this->request->get['limit'])) {
             $url .= '&limit=' . $this->request->get['limit'];
         }
         $pagination = new Pagination();
         $pagination->total = $product_total;
         $pagination->page = $page;
         $pagination->limit = $limit;
         $pagination->text = $this->language->get('text_pagination');
         $pagination->url = $this->url->link('product/search', $url . '&page={page}');
         $this->data['pagination'] = $pagination->render();
     }
     $this->data['search'] = $search;
     $this->data['description'] = $description;
     $this->data['category_id'] = $category_id;
     $this->data['sub_category'] = $sub_category;
     $this->data['sort'] = $sort;
     $this->data['order'] = $order;
     $this->data['limit'] = $limit;
     if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/search.tpl')) {
         $this->template = $this->config->get('config_template') . '/template/product/search.tpl';
     } else {
         $this->template = 'default/template/product/search.tpl';
     }
     $this->children = array('common/column_left', 'common/column_right', 'common/content_top', 'common/content_bottom', 'common/footer', 'common/header');
     $magicContent = $this->render(TRUE);
     /* Magictoolbox magiczoomplus module BEGIN */
     $magicContent = magiczoomplus($magicContent, $this, 'search', $results);
     /* Magictoolbox magiczoomplus module END */
     $this->response->setOutput($magicContent, $this->config->get('config_compression'));
 }