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); }
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); }