Beispiel #1
0
 function show_prod($cat_id = 0, $cat_name = "-", $prod_id = 0, $prod_name = "-")
 {
     // type = c|p (categorie|product)
     $this->load->helper('misc_helper');
     // TODO trebuie sa facem ceva cu produsele si categoriile (o functie generala care scoate din baza de date)
     // si sa avem grija in functia asta sa bagam numa alea care-s pe limba selectata...
     // sa nu-i dam voie sa salveze produsele fara denumirea setata in limba default
     if ($prod_id > 0) {
         // scoatem produsul
         // suntem pe produs
         $this->load->model('Productmodel');
         $this->Productmodel->load_product($prod_id);
         $data["product_model"] = $this->Productmodel->return_array();
         $data["category_id"] = $cat_id;
         // opinia cumparatorilor
         $data["reviews"] = $this->review->getReviewsForId($prod_id, true);
         // incarcam produse similare... deocamdta produse din aceasi categorie.. (de ex. 3)
         $data["similar_prods"] = $this->Productmodel->getProductList($cat_id, array(), 0, 3, "`p`.`id` != '{$prod_id}'");
         $page = "show_product";
     } else {
         if ($cat_id > 0) {
             // suntem pe o categorie
             $this->load->library('pagination');
             $this->load->library('ProductFilters');
             $data["sort_column"] = $this->productfilters->getFilterValue("sort_column");
             $data["sort_column_values"] = $this->productfilters->getSortColumnValues();
             // scoatem filtrele active
             $data["active_filters"] = $this->productfilters->getTextArray();
             $query = $this->db->query("SELECT * FROM `categories` WHERE `id` = '{$cat_id}' ");
             $data["category"] = $query->row_array();
             $cat_lang = getCategoryLang($cat_id);
             $data["category"]["name"] = $cat_lang["name"];
             $data["category"]["description"] = $cat_lang["description"];
             $query = $this->db->query("SELECT * FROM `categories` WHERE `parent_id` = '{$cat_id}' ");
             $data["category"]["subcats"] = $query->result_array();
             foreach ($data["category"]["subcats"] as $k => $v) {
                 $cat_lang = getCategoryLang($v["id"]);
                 $data["category"]["subcats"][$k]["name"] = $cat_lang["name"];
                 $data["category"]["subcats"][$k]["short_desc"] = $cat_lang["short_desc"];
                 //scoatem numarul de produse care le contine subcategoria...
                 $query = $this->db->query("SELECT\r\n                                                COUNT(`prc`.`id`) as `c`\r\n                                            FROM\r\n                                                `products_re_categories` as `prc`\r\n                                                LEFT JOIN `products` as `p`\r\n                                                    ON (`prc`.`product_id` = `p`.`id`)\r\n                                            WHERE\r\n                                                `category_id` = '" . $v["id"] . "'\r\n                                                AND `p`.`appear_on_site` = 'y'");
                 $row = $query->row_array();
                 $data["category"]["subcats"][$k]["products_count"] = $row["c"];
             }
             $this->load->model('Productmodel');
             $total_products = $this->Productmodel->countProducts($cat_id, $this->productfilters->getFilterValues());
             $products_per_page = $this->_get_products_per_page();
             $data["products_per_page"] = $products_per_page;
             $data["total_products"] = $total_products;
             $config['base_url'] = site_url("products/{$cat_id}/" . url_title($data["category"]["name"])) . "/page/";
             $config['total_rows'] = $total_products;
             $config['per_page'] = $products_per_page;
             $config["page_query_string"] = FALSE;
             $config['uri_segment'] = 5;
             $this->pagination->initialize($config);
             $data["pagination_links"] = $this->pagination->create_links();
             $ofset = ($this->pagination->cur_page - 1) * $config['per_page'];
             $data["category"]["products"] = $this->Productmodel->getProductList($cat_id, $this->productfilters->getFilterValues(), $ofset, $products_per_page);
             $data["products_count"] = count($data["category"]["products"]);
             $data["language_id"] = $this->lang_id;
             // scoatem producatorii
             $query = $this->db->query("SELECT * FROM `producers` WHERE 1");
             $producers = $query->result_array();
             $data["producers_dropdown"][0] = " - alege producator - ";
             foreach ($producers as $k => $v) {
                 $data["producers_dropdown"][$v["id"]] = $v["name"];
             }
             $data["products_per_page_select"][10] = 10;
             $data["products_per_page_select"][20] = 20;
             $data["products_per_page_select"][30] = 30;
             $page = "show_category";
         }
     }
     $this->setTemplateDataArr($data);
     $this->showMainTemplate($page);
 }
Beispiel #2
0
 function get_re_categories($product_id)
 {
     $query = $this->db->query("SELECT `c`.*, `rc`.`id` as `re_id` FROM `products_re_categories` as `rc` LEFT JOIN `categories` as `c` ON (`rc`.`category_id` = `c`.`id`) WHERE `rc`.`product_id` = '{$product_id}' ");
     $categories = $query->result_array();
     foreach ($categories as $k => $v) {
         $cat_lang = getCategoryLang($v["id"]);
         $categories[$k]["name"] = $cat_lang["name"];
     }
     echo json_encode($categories);
 }