ashap Posted November 28, 2014 Author Share Posted November 28, 2014 гавно-модуль, даже замораливаться не буду! культура у вас ик и прет ))) кому как) спасипотому что за отзыв) Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 культура у вас ик и прет ))) кому как) спасипотому что за отзыв) 1. допилите модуль под гдефолтную версию скриптов от текуещёй версии 15512 2. укажите в опирсании модуля с какой версией движка совместим модуль 3. сгделайте разные версии под предыдущие версии движка (хотя бы для пары популярных) И бугдет Вам и отзыв положительный и продажи. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 1. допилите модуль под гдефолтную версию скриптов от текуещёй версии 15512 2. укажите в опирсании модуля с какой версией движка совместим модуль 3. сгделайте разные версии под предыдущие версии движка (хотя бы для пары популярных) И бугдет Вам и отзыв положительный и продажи. модуль уж очень узко специализирован ) все есть я могу помочь все элеменирно будут конфликты по люпотому чтому ик как это замена синдартных акций Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 вот модуль для ориентира http://www.opencart.com/index.php?route=extension/extension/info&extension_id=15454&filter_search=special%20discount дорого и со вкусом, жаль только нельзя повторять акции ежедневно, за то не надо с батч эдитором париться пакетное назначение из самого модуля потому чтолее интересно. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 вот модуль для ориентира http://www.opencart.com/index.php?route=extension/extension/info&extension_id=15454&filter_search=special%20discount дорого и со вкусом, жаль только нельзя повторять акции ежедневно, за то не надо с батч эдитором париться пакетное назначение из самого модуля потому чтолее интересно. гделал по заказу нужно было задавать индивидуально для каждого товара кому нужно пачками то бач идитор только и то его надо тоже допиливать ик как он со синдартными акциями рилииет допиливаю батч эдитор за плату Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 в vqmod все поменял, в логах листо. у меня икой вопрос, если строчки не совпадали, то не наносит ли вред vqmod файлу catalog/model/catalog/product.php ? ведь если в оригинальном файле код различается, то и заменяется он вероятно несовместимым кодом? Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 в vqmod все поменял, в логах листо. у меня икой вопрос, если строчки не совпадали, то не наносит ли вред vqmod файлу catalog/model/catalog/product.php ? ведь если в оригинальном файле код различается, то и заменяется он вероятно несовместимым кодом? нет вреда точно не бугдет им разлилия не потому чтольшие, скорее в пробелах и тд Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 Я не пойму, зачем мне нанимать специалиси, когда у вас vqmod с самого начала неизвестно под что написан. Вот код моего catalog/model/catalog/product.php class ModelCatalogProduct extends Model {//Заменим NOW() в SQL-запросах на строку с текущим временем, но с 00 вместо секунд.//Тем самым мы включаем кэширование SQL-запросов на уровне сервера MySQL.//MySQL прекрасно кэширует запросы. Время жизни кэша - 1 минуи.private $NOW;public function __construct($registry) {$this->NOW = date('Y-m-d H:i') . ':00';parent::__construct($registry);}private $FOUND_ROWS;public function getFoundProducts() {return $this->FOUND_ROWS;}public function updateViewed($product_id) {$this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'");}public function getProduct($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return array('seo_title' => $query->row['seo_title'],'seo_h1' => $query->row['seo_h1'],'product_id' => $query->row['product_id'],'name' => $query->row['name'],'description' => $query->row['description'],'meta_description' => $query->row['meta_description'],'meta_keyword' => $query->row['meta_keyword'],'tag' => $query->row['tag'],'model' => $query->row['model'],'sku' => $query->row['sku'],'upc' => $query->row['upc'],'ean' => $query->row['ean'],'jan' => $query->row['jan'],'isbn' => $query->row['isbn'],'mpn' => $query->row['mpn'],'location' => $query->row['location'],'quantity' => $query->row['quantity'],'stock_status' => $query->row['stock_status'],'image' => $query->row['image'],'manufacturer_id' => $query->row['manufacturer_id'],'manufacturer' => $query->row['manufacturer'],'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),'special' => $query->row['special'],'reward' => $query->row['reward'],'points' => $query->row['points'],'tax_class_id' => $query->row['tax_class_id'],'date_available' => $query->row['date_available'],'weight' => $query->row['weight'],'weight_class_id' => $query->row['weight_class_id'],'length' => $query->row['length'],'width' => $query->row['width'],'height' => $query->row['height'],'length_class_id' => $query->row['length_class_id'],'subtract' => $query->row['subtract'],'rating' => round($query->row['rating']),'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0,'minimum' => $query->row['minimum'],'sort_order' => $query->row['sort_order'],'status' => $query->row['status'],'date_added' => $query->row['date_added'],'date_modified' => $query->row['date_modified'],'viewed' => $query->row['viewed']);} else {return false;}}public function getProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT SQL_CALC_FOUND_ROWS p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape($data['filter_tag']) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$sql .= " GROUP BY p.product_id";$sort_data = array('pd.name','p.model','p.quantity','p.price','rating','p.sort_order','p.date_added');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} elseif ($data['sort'] == 'p.price') {$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();// $product_data['sql']=$sql;// $this->log->($sql);$query = $this->db->query($sql);$num_query = $this->db->query("SELECT FOUND_ROWS() AS `found_rows`");$this->FOUND_ROWS = intval($num_query->row['found_rows']);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}// $product_data['sql']=$sql;return $product_data;}public function getProductSpecials($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) GROUP BY ps.product_id";$sort_data = array('pd.name','p.model','ps.price','rating','p.sort_order');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();$query = $this->db->query($sql);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getLatestProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getPopularProducts($limit) {$product_data = array();$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.viewed, p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getBestSellerProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$product_data = array();$query = $this->db->query("SELECT op.product_id, COUNT(*) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getProductAttributes($product_id) {$product_attribute_group_data = array();$product_attribute_group_query = $this->db->query("SELECT ag.attribute_group_id, agd.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN " . DB_PREFIX . "attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '" . (int)$product_id . "' AND agd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name");foreach ($product_attribute_group_query->rows as $product_attribute_group) {$product_attribute_data = array();$product_attribute_query = $this->db->query("SELECT a.attribute_id, ad.name, pa.text FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) WHERE pa.product_id = '" . (int)$product_id . "' AND a.attribute_group_id = '" . (int)$product_attribute_group['attribute_group_id'] . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY a.sort_order, ad.name");foreach ($product_attribute_query->rows as $product_attribute) {$product_attribute_data[] = array('attribute_id' => $product_attribute['attribute_id'],'name' => $product_attribute['name'],'text' => $product_attribute['text']);}$product_attribute_group_data[] = array('attribute_group_id' => $product_attribute_group['attribute_group_id'],'name' => $product_attribute_group['name'],'attribute' => $product_attribute_data);}return $product_attribute_group_data;}public function getProductOptions($product_id) {$product_option_data = array();$product_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.sort_order");foreach ($product_option_query->rows as $product_option) {if ($product_option['type'] == 'select' || $product_option['type'] == 'radio' || $product_option['type'] == 'checkbox' || $product_option['type'] == 'image') {$product_option_value_data = array();$product_option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE pov.product_id = '" . (int)$product_id . "' AND pov.product_option_id = '" . (int)$product_option['product_option_id'] . "' AND ovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY ov.sort_order");foreach ($product_option_value_query->rows as $product_option_value) {$product_option_value_data[] = array('product_option_value_id' => $product_option_value['product_option_value_id'],'option_value_id' => $product_option_value['option_value_id'],'name' => $product_option_value['name'],'image' => $product_option_value['image'],'quantity' => $product_option_value['quantity'],'subtract' => $product_option_value['subtract'],'price' => $product_option_value['price'],'price_prefix' => $product_option_value['price_prefix'],'weight' => $product_option_value['weight'],'weight_prefix' => $product_option_value['weight_prefix']);}$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option_value_data,'required' => $product_option['required']);} else {$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option['option_value'],'required' => $product_option['required']);}}return $product_option_data;}public function getProductDiscounts($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id . "' AND quantity > 1 AND ((date_start = '0000-00-00' OR date_start < '" . $this->NOW . "') AND (date_end = '0000-00-00' OR date_end > '" . $this->NOW . "')) ORDER BY quantity ASC, priority ASC, price ASC");return $query->rows;}public function getProductImages($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product_id . "' ORDER BY sort_order ASC");return $query->rows;}public function getProductRelated($product_id) {$product_data = array();$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");foreach ($query->rows as $result) {if( $product_id != $result['related_id'] )$product_data[$result['related_id']] = $this->getProduct($result['related_id']);}return $product_data;}public function getProductLayoutId($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_layout WHERE product_id = '" . (int)$product_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return $query->row['layout_id'];} else {return $this->config->get('config_layout_product');}}public function getCategories($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'");return $query->rows;}public function getTotalProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT COUNT(DISTINCT p.product_id) AS total";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->row['total'];}public function getTotalProductsID($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT p.product_id";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->rows;}public function getTotalProductSpecials() {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT COUNT(DISTINCT ps.product_id) AS total FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "'))");if (isset($query->row['total'])) {return $query->row['total'];} else {return 0;}}}?> Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Я Вам написал, что я внес изменения! не рилииет эи *** Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это *** втюхать! Буду писать админам Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Я Вам написал, что я внес изменения! не рилииет эи байда сраная Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это гавно втюхать! Буду писать админам ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 про не рилииет после внесения изменений не написано а конфликт с другим вкумодом рассматривать видимо тогда не надо? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 может вам гдемо Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник спасипотому что тупик Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 если вы будите помечать просто ик файлы испорчеными вы огребете видимо бан Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
lesnenko Posted November 28, 2014 Share Posted November 28, 2014 культура у вас ик и прет ))) кому как) спасипотому что за отзыв) 1. допилите модуль под гдефолтную версию скриптов от текуещёй версии 15512 2. укажите в опирсании модуля с какой версией движка совместим модуль 3. сгделайте разные версии под предыдущие версии движка (хотя бы для пары популярных) И бугдет Вам и отзыв положительный и продажи. Link to comment Share on other sites More sharing options...
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 1. допилите модуль под гдефолтную версию скриптов от текуещёй версии 15512 2. укажите в опирсании модуля с какой версией движка совместим модуль 3. сгделайте разные версии под предыдущие версии движка (хотя бы для пары популярных) И бугдет Вам и отзыв положительный и продажи. модуль уж очень узко специализирован ) все есть я могу помочь все элеменирно будут конфликты по люпотому чтому ик как это замена синдартных акций Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 вот модуль для ориентира http://www.opencart.com/index.php?route=extension/extension/info&extension_id=15454&filter_search=special%20discount дорого и со вкусом, жаль только нельзя повторять акции ежедневно, за то не надо с батч эдитором париться пакетное назначение из самого модуля потому чтолее интересно. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 вот модуль для ориентира http://www.opencart.com/index.php?route=extension/extension/info&extension_id=15454&filter_search=special%20discount дорого и со вкусом, жаль только нельзя повторять акции ежедневно, за то не надо с батч эдитором париться пакетное назначение из самого модуля потому чтолее интересно. гделал по заказу нужно было задавать индивидуально для каждого товара кому нужно пачками то бач идитор только и то его надо тоже допиливать ик как он со синдартными акциями рилииет допиливаю батч эдитор за плату Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 в vqmod все поменял, в логах листо. у меня икой вопрос, если строчки не совпадали, то не наносит ли вред vqmod файлу catalog/model/catalog/product.php ? ведь если в оригинальном файле код различается, то и заменяется он вероятно несовместимым кодом? Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 в vqmod все поменял, в логах листо. у меня икой вопрос, если строчки не совпадали, то не наносит ли вред vqmod файлу catalog/model/catalog/product.php ? ведь если в оригинальном файле код различается, то и заменяется он вероятно несовместимым кодом? нет вреда точно не бугдет им разлилия не потому чтольшие, скорее в пробелах и тд Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 Я не пойму, зачем мне нанимать специалиси, когда у вас vqmod с самого начала неизвестно под что написан. Вот код моего catalog/model/catalog/product.php class ModelCatalogProduct extends Model {//Заменим NOW() в SQL-запросах на строку с текущим временем, но с 00 вместо секунд.//Тем самым мы включаем кэширование SQL-запросов на уровне сервера MySQL.//MySQL прекрасно кэширует запросы. Время жизни кэша - 1 минуи.private $NOW;public function __construct($registry) {$this->NOW = date('Y-m-d H:i') . ':00';parent::__construct($registry);}private $FOUND_ROWS;public function getFoundProducts() {return $this->FOUND_ROWS;}public function updateViewed($product_id) {$this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'");}public function getProduct($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return array('seo_title' => $query->row['seo_title'],'seo_h1' => $query->row['seo_h1'],'product_id' => $query->row['product_id'],'name' => $query->row['name'],'description' => $query->row['description'],'meta_description' => $query->row['meta_description'],'meta_keyword' => $query->row['meta_keyword'],'tag' => $query->row['tag'],'model' => $query->row['model'],'sku' => $query->row['sku'],'upc' => $query->row['upc'],'ean' => $query->row['ean'],'jan' => $query->row['jan'],'isbn' => $query->row['isbn'],'mpn' => $query->row['mpn'],'location' => $query->row['location'],'quantity' => $query->row['quantity'],'stock_status' => $query->row['stock_status'],'image' => $query->row['image'],'manufacturer_id' => $query->row['manufacturer_id'],'manufacturer' => $query->row['manufacturer'],'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),'special' => $query->row['special'],'reward' => $query->row['reward'],'points' => $query->row['points'],'tax_class_id' => $query->row['tax_class_id'],'date_available' => $query->row['date_available'],'weight' => $query->row['weight'],'weight_class_id' => $query->row['weight_class_id'],'length' => $query->row['length'],'width' => $query->row['width'],'height' => $query->row['height'],'length_class_id' => $query->row['length_class_id'],'subtract' => $query->row['subtract'],'rating' => round($query->row['rating']),'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0,'minimum' => $query->row['minimum'],'sort_order' => $query->row['sort_order'],'status' => $query->row['status'],'date_added' => $query->row['date_added'],'date_modified' => $query->row['date_modified'],'viewed' => $query->row['viewed']);} else {return false;}}public function getProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT SQL_CALC_FOUND_ROWS p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape($data['filter_tag']) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$sql .= " GROUP BY p.product_id";$sort_data = array('pd.name','p.model','p.quantity','p.price','rating','p.sort_order','p.date_added');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} elseif ($data['sort'] == 'p.price') {$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();// $product_data['sql']=$sql;// $this->log->($sql);$query = $this->db->query($sql);$num_query = $this->db->query("SELECT FOUND_ROWS() AS `found_rows`");$this->FOUND_ROWS = intval($num_query->row['found_rows']);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}// $product_data['sql']=$sql;return $product_data;}public function getProductSpecials($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) GROUP BY ps.product_id";$sort_data = array('pd.name','p.model','ps.price','rating','p.sort_order');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();$query = $this->db->query($sql);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getLatestProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getPopularProducts($limit) {$product_data = array();$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.viewed, p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getBestSellerProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$product_data = array();$query = $this->db->query("SELECT op.product_id, COUNT(*) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getProductAttributes($product_id) {$product_attribute_group_data = array();$product_attribute_group_query = $this->db->query("SELECT ag.attribute_group_id, agd.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN " . DB_PREFIX . "attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '" . (int)$product_id . "' AND agd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name");foreach ($product_attribute_group_query->rows as $product_attribute_group) {$product_attribute_data = array();$product_attribute_query = $this->db->query("SELECT a.attribute_id, ad.name, pa.text FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) WHERE pa.product_id = '" . (int)$product_id . "' AND a.attribute_group_id = '" . (int)$product_attribute_group['attribute_group_id'] . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY a.sort_order, ad.name");foreach ($product_attribute_query->rows as $product_attribute) {$product_attribute_data[] = array('attribute_id' => $product_attribute['attribute_id'],'name' => $product_attribute['name'],'text' => $product_attribute['text']);}$product_attribute_group_data[] = array('attribute_group_id' => $product_attribute_group['attribute_group_id'],'name' => $product_attribute_group['name'],'attribute' => $product_attribute_data);}return $product_attribute_group_data;}public function getProductOptions($product_id) {$product_option_data = array();$product_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.sort_order");foreach ($product_option_query->rows as $product_option) {if ($product_option['type'] == 'select' || $product_option['type'] == 'radio' || $product_option['type'] == 'checkbox' || $product_option['type'] == 'image') {$product_option_value_data = array();$product_option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE pov.product_id = '" . (int)$product_id . "' AND pov.product_option_id = '" . (int)$product_option['product_option_id'] . "' AND ovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY ov.sort_order");foreach ($product_option_value_query->rows as $product_option_value) {$product_option_value_data[] = array('product_option_value_id' => $product_option_value['product_option_value_id'],'option_value_id' => $product_option_value['option_value_id'],'name' => $product_option_value['name'],'image' => $product_option_value['image'],'quantity' => $product_option_value['quantity'],'subtract' => $product_option_value['subtract'],'price' => $product_option_value['price'],'price_prefix' => $product_option_value['price_prefix'],'weight' => $product_option_value['weight'],'weight_prefix' => $product_option_value['weight_prefix']);}$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option_value_data,'required' => $product_option['required']);} else {$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option['option_value'],'required' => $product_option['required']);}}return $product_option_data;}public function getProductDiscounts($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id . "' AND quantity > 1 AND ((date_start = '0000-00-00' OR date_start < '" . $this->NOW . "') AND (date_end = '0000-00-00' OR date_end > '" . $this->NOW . "')) ORDER BY quantity ASC, priority ASC, price ASC");return $query->rows;}public function getProductImages($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product_id . "' ORDER BY sort_order ASC");return $query->rows;}public function getProductRelated($product_id) {$product_data = array();$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");foreach ($query->rows as $result) {if( $product_id != $result['related_id'] )$product_data[$result['related_id']] = $this->getProduct($result['related_id']);}return $product_data;}public function getProductLayoutId($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_layout WHERE product_id = '" . (int)$product_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return $query->row['layout_id'];} else {return $this->config->get('config_layout_product');}}public function getCategories($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'");return $query->rows;}public function getTotalProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT COUNT(DISTINCT p.product_id) AS total";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->row['total'];}public function getTotalProductsID($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT p.product_id";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->rows;}public function getTotalProductSpecials() {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT COUNT(DISTINCT ps.product_id) AS total FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "'))");if (isset($query->row['total'])) {return $query->row['total'];} else {return 0;}}}?> Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Я Вам написал, что я внес изменения! не рилииет эи *** Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это *** втюхать! Буду писать админам Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Я Вам написал, что я внес изменения! не рилииет эи байда сраная Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это гавно втюхать! Буду писать админам ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 про не рилииет после внесения изменений не написано а конфликт с другим вкумодом рассматривать видимо тогда не надо? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 может вам гдемо Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник спасипотому что тупик Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 если вы будите помечать просто ик файлы испорчеными вы огребете видимо бан Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
lesnenko Posted November 28, 2014 Share Posted November 28, 2014 вот модуль для ориентира http://www.opencart.com/index.php?route=extension/extension/info&extension_id=15454&filter_search=special%20discount дорого и со вкусом, жаль только нельзя повторять акции ежедневно, за то не надо с батч эдитором париться пакетное назначение из самого модуля потому чтолее интересно. Link to comment Share on other sites More sharing options...
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 вот модуль для ориентира http://www.opencart.com/index.php?route=extension/extension/info&extension_id=15454&filter_search=special%20discount дорого и со вкусом, жаль только нельзя повторять акции ежедневно, за то не надо с батч эдитором париться пакетное назначение из самого модуля потому чтолее интересно. гделал по заказу нужно было задавать индивидуально для каждого товара кому нужно пачками то бач идитор только и то его надо тоже допиливать ик как он со синдартными акциями рилииет допиливаю батч эдитор за плату Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 в vqmod все поменял, в логах листо. у меня икой вопрос, если строчки не совпадали, то не наносит ли вред vqmod файлу catalog/model/catalog/product.php ? ведь если в оригинальном файле код различается, то и заменяется он вероятно несовместимым кодом? Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 в vqmod все поменял, в логах листо. у меня икой вопрос, если строчки не совпадали, то не наносит ли вред vqmod файлу catalog/model/catalog/product.php ? ведь если в оригинальном файле код различается, то и заменяется он вероятно несовместимым кодом? нет вреда точно не бугдет им разлилия не потому чтольшие, скорее в пробелах и тд Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 Я не пойму, зачем мне нанимать специалиси, когда у вас vqmod с самого начала неизвестно под что написан. Вот код моего catalog/model/catalog/product.php class ModelCatalogProduct extends Model {//Заменим NOW() в SQL-запросах на строку с текущим временем, но с 00 вместо секунд.//Тем самым мы включаем кэширование SQL-запросов на уровне сервера MySQL.//MySQL прекрасно кэширует запросы. Время жизни кэша - 1 минуи.private $NOW;public function __construct($registry) {$this->NOW = date('Y-m-d H:i') . ':00';parent::__construct($registry);}private $FOUND_ROWS;public function getFoundProducts() {return $this->FOUND_ROWS;}public function updateViewed($product_id) {$this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'");}public function getProduct($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return array('seo_title' => $query->row['seo_title'],'seo_h1' => $query->row['seo_h1'],'product_id' => $query->row['product_id'],'name' => $query->row['name'],'description' => $query->row['description'],'meta_description' => $query->row['meta_description'],'meta_keyword' => $query->row['meta_keyword'],'tag' => $query->row['tag'],'model' => $query->row['model'],'sku' => $query->row['sku'],'upc' => $query->row['upc'],'ean' => $query->row['ean'],'jan' => $query->row['jan'],'isbn' => $query->row['isbn'],'mpn' => $query->row['mpn'],'location' => $query->row['location'],'quantity' => $query->row['quantity'],'stock_status' => $query->row['stock_status'],'image' => $query->row['image'],'manufacturer_id' => $query->row['manufacturer_id'],'manufacturer' => $query->row['manufacturer'],'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),'special' => $query->row['special'],'reward' => $query->row['reward'],'points' => $query->row['points'],'tax_class_id' => $query->row['tax_class_id'],'date_available' => $query->row['date_available'],'weight' => $query->row['weight'],'weight_class_id' => $query->row['weight_class_id'],'length' => $query->row['length'],'width' => $query->row['width'],'height' => $query->row['height'],'length_class_id' => $query->row['length_class_id'],'subtract' => $query->row['subtract'],'rating' => round($query->row['rating']),'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0,'minimum' => $query->row['minimum'],'sort_order' => $query->row['sort_order'],'status' => $query->row['status'],'date_added' => $query->row['date_added'],'date_modified' => $query->row['date_modified'],'viewed' => $query->row['viewed']);} else {return false;}}public function getProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT SQL_CALC_FOUND_ROWS p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape($data['filter_tag']) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$sql .= " GROUP BY p.product_id";$sort_data = array('pd.name','p.model','p.quantity','p.price','rating','p.sort_order','p.date_added');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} elseif ($data['sort'] == 'p.price') {$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();// $product_data['sql']=$sql;// $this->log->($sql);$query = $this->db->query($sql);$num_query = $this->db->query("SELECT FOUND_ROWS() AS `found_rows`");$this->FOUND_ROWS = intval($num_query->row['found_rows']);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}// $product_data['sql']=$sql;return $product_data;}public function getProductSpecials($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) GROUP BY ps.product_id";$sort_data = array('pd.name','p.model','ps.price','rating','p.sort_order');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();$query = $this->db->query($sql);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getLatestProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getPopularProducts($limit) {$product_data = array();$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.viewed, p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getBestSellerProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$product_data = array();$query = $this->db->query("SELECT op.product_id, COUNT(*) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getProductAttributes($product_id) {$product_attribute_group_data = array();$product_attribute_group_query = $this->db->query("SELECT ag.attribute_group_id, agd.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN " . DB_PREFIX . "attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '" . (int)$product_id . "' AND agd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name");foreach ($product_attribute_group_query->rows as $product_attribute_group) {$product_attribute_data = array();$product_attribute_query = $this->db->query("SELECT a.attribute_id, ad.name, pa.text FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) WHERE pa.product_id = '" . (int)$product_id . "' AND a.attribute_group_id = '" . (int)$product_attribute_group['attribute_group_id'] . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY a.sort_order, ad.name");foreach ($product_attribute_query->rows as $product_attribute) {$product_attribute_data[] = array('attribute_id' => $product_attribute['attribute_id'],'name' => $product_attribute['name'],'text' => $product_attribute['text']);}$product_attribute_group_data[] = array('attribute_group_id' => $product_attribute_group['attribute_group_id'],'name' => $product_attribute_group['name'],'attribute' => $product_attribute_data);}return $product_attribute_group_data;}public function getProductOptions($product_id) {$product_option_data = array();$product_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.sort_order");foreach ($product_option_query->rows as $product_option) {if ($product_option['type'] == 'select' || $product_option['type'] == 'radio' || $product_option['type'] == 'checkbox' || $product_option['type'] == 'image') {$product_option_value_data = array();$product_option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE pov.product_id = '" . (int)$product_id . "' AND pov.product_option_id = '" . (int)$product_option['product_option_id'] . "' AND ovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY ov.sort_order");foreach ($product_option_value_query->rows as $product_option_value) {$product_option_value_data[] = array('product_option_value_id' => $product_option_value['product_option_value_id'],'option_value_id' => $product_option_value['option_value_id'],'name' => $product_option_value['name'],'image' => $product_option_value['image'],'quantity' => $product_option_value['quantity'],'subtract' => $product_option_value['subtract'],'price' => $product_option_value['price'],'price_prefix' => $product_option_value['price_prefix'],'weight' => $product_option_value['weight'],'weight_prefix' => $product_option_value['weight_prefix']);}$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option_value_data,'required' => $product_option['required']);} else {$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option['option_value'],'required' => $product_option['required']);}}return $product_option_data;}public function getProductDiscounts($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id . "' AND quantity > 1 AND ((date_start = '0000-00-00' OR date_start < '" . $this->NOW . "') AND (date_end = '0000-00-00' OR date_end > '" . $this->NOW . "')) ORDER BY quantity ASC, priority ASC, price ASC");return $query->rows;}public function getProductImages($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product_id . "' ORDER BY sort_order ASC");return $query->rows;}public function getProductRelated($product_id) {$product_data = array();$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");foreach ($query->rows as $result) {if( $product_id != $result['related_id'] )$product_data[$result['related_id']] = $this->getProduct($result['related_id']);}return $product_data;}public function getProductLayoutId($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_layout WHERE product_id = '" . (int)$product_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return $query->row['layout_id'];} else {return $this->config->get('config_layout_product');}}public function getCategories($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'");return $query->rows;}public function getTotalProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT COUNT(DISTINCT p.product_id) AS total";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->row['total'];}public function getTotalProductsID($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT p.product_id";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->rows;}public function getTotalProductSpecials() {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT COUNT(DISTINCT ps.product_id) AS total FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "'))");if (isset($query->row['total'])) {return $query->row['total'];} else {return 0;}}}?> Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Я Вам написал, что я внес изменения! не рилииет эи *** Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это *** втюхать! Буду писать админам Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Я Вам написал, что я внес изменения! не рилииет эи байда сраная Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это гавно втюхать! Буду писать админам ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 про не рилииет после внесения изменений не написано а конфликт с другим вкумодом рассматривать видимо тогда не надо? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 может вам гдемо Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник спасипотому что тупик Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 если вы будите помечать просто ик файлы испорчеными вы огребете видимо бан Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
lesnenko Posted November 28, 2014 Share Posted November 28, 2014 в vqmod все поменял, в логах листо. у меня икой вопрос, если строчки не совпадали, то не наносит ли вред vqmod файлу catalog/model/catalog/product.php ? ведь если в оригинальном файле код различается, то и заменяется он вероятно несовместимым кодом? Link to comment Share on other sites More sharing options...
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 в vqmod все поменял, в логах листо. у меня икой вопрос, если строчки не совпадали, то не наносит ли вред vqmod файлу catalog/model/catalog/product.php ? ведь если в оригинальном файле код различается, то и заменяется он вероятно несовместимым кодом? нет вреда точно не бугдет им разлилия не потому чтольшие, скорее в пробелах и тд Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 Я не пойму, зачем мне нанимать специалиси, когда у вас vqmod с самого начала неизвестно под что написан. Вот код моего catalog/model/catalog/product.php class ModelCatalogProduct extends Model {//Заменим NOW() в SQL-запросах на строку с текущим временем, но с 00 вместо секунд.//Тем самым мы включаем кэширование SQL-запросов на уровне сервера MySQL.//MySQL прекрасно кэширует запросы. Время жизни кэша - 1 минуи.private $NOW;public function __construct($registry) {$this->NOW = date('Y-m-d H:i') . ':00';parent::__construct($registry);}private $FOUND_ROWS;public function getFoundProducts() {return $this->FOUND_ROWS;}public function updateViewed($product_id) {$this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'");}public function getProduct($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return array('seo_title' => $query->row['seo_title'],'seo_h1' => $query->row['seo_h1'],'product_id' => $query->row['product_id'],'name' => $query->row['name'],'description' => $query->row['description'],'meta_description' => $query->row['meta_description'],'meta_keyword' => $query->row['meta_keyword'],'tag' => $query->row['tag'],'model' => $query->row['model'],'sku' => $query->row['sku'],'upc' => $query->row['upc'],'ean' => $query->row['ean'],'jan' => $query->row['jan'],'isbn' => $query->row['isbn'],'mpn' => $query->row['mpn'],'location' => $query->row['location'],'quantity' => $query->row['quantity'],'stock_status' => $query->row['stock_status'],'image' => $query->row['image'],'manufacturer_id' => $query->row['manufacturer_id'],'manufacturer' => $query->row['manufacturer'],'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),'special' => $query->row['special'],'reward' => $query->row['reward'],'points' => $query->row['points'],'tax_class_id' => $query->row['tax_class_id'],'date_available' => $query->row['date_available'],'weight' => $query->row['weight'],'weight_class_id' => $query->row['weight_class_id'],'length' => $query->row['length'],'width' => $query->row['width'],'height' => $query->row['height'],'length_class_id' => $query->row['length_class_id'],'subtract' => $query->row['subtract'],'rating' => round($query->row['rating']),'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0,'minimum' => $query->row['minimum'],'sort_order' => $query->row['sort_order'],'status' => $query->row['status'],'date_added' => $query->row['date_added'],'date_modified' => $query->row['date_modified'],'viewed' => $query->row['viewed']);} else {return false;}}public function getProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT SQL_CALC_FOUND_ROWS p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape($data['filter_tag']) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$sql .= " GROUP BY p.product_id";$sort_data = array('pd.name','p.model','p.quantity','p.price','rating','p.sort_order','p.date_added');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} elseif ($data['sort'] == 'p.price') {$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();// $product_data['sql']=$sql;// $this->log->($sql);$query = $this->db->query($sql);$num_query = $this->db->query("SELECT FOUND_ROWS() AS `found_rows`");$this->FOUND_ROWS = intval($num_query->row['found_rows']);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}// $product_data['sql']=$sql;return $product_data;}public function getProductSpecials($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) GROUP BY ps.product_id";$sort_data = array('pd.name','p.model','ps.price','rating','p.sort_order');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();$query = $this->db->query($sql);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getLatestProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getPopularProducts($limit) {$product_data = array();$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.viewed, p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getBestSellerProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$product_data = array();$query = $this->db->query("SELECT op.product_id, COUNT(*) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getProductAttributes($product_id) {$product_attribute_group_data = array();$product_attribute_group_query = $this->db->query("SELECT ag.attribute_group_id, agd.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN " . DB_PREFIX . "attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '" . (int)$product_id . "' AND agd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name");foreach ($product_attribute_group_query->rows as $product_attribute_group) {$product_attribute_data = array();$product_attribute_query = $this->db->query("SELECT a.attribute_id, ad.name, pa.text FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) WHERE pa.product_id = '" . (int)$product_id . "' AND a.attribute_group_id = '" . (int)$product_attribute_group['attribute_group_id'] . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY a.sort_order, ad.name");foreach ($product_attribute_query->rows as $product_attribute) {$product_attribute_data[] = array('attribute_id' => $product_attribute['attribute_id'],'name' => $product_attribute['name'],'text' => $product_attribute['text']);}$product_attribute_group_data[] = array('attribute_group_id' => $product_attribute_group['attribute_group_id'],'name' => $product_attribute_group['name'],'attribute' => $product_attribute_data);}return $product_attribute_group_data;}public function getProductOptions($product_id) {$product_option_data = array();$product_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.sort_order");foreach ($product_option_query->rows as $product_option) {if ($product_option['type'] == 'select' || $product_option['type'] == 'radio' || $product_option['type'] == 'checkbox' || $product_option['type'] == 'image') {$product_option_value_data = array();$product_option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE pov.product_id = '" . (int)$product_id . "' AND pov.product_option_id = '" . (int)$product_option['product_option_id'] . "' AND ovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY ov.sort_order");foreach ($product_option_value_query->rows as $product_option_value) {$product_option_value_data[] = array('product_option_value_id' => $product_option_value['product_option_value_id'],'option_value_id' => $product_option_value['option_value_id'],'name' => $product_option_value['name'],'image' => $product_option_value['image'],'quantity' => $product_option_value['quantity'],'subtract' => $product_option_value['subtract'],'price' => $product_option_value['price'],'price_prefix' => $product_option_value['price_prefix'],'weight' => $product_option_value['weight'],'weight_prefix' => $product_option_value['weight_prefix']);}$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option_value_data,'required' => $product_option['required']);} else {$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option['option_value'],'required' => $product_option['required']);}}return $product_option_data;}public function getProductDiscounts($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id . "' AND quantity > 1 AND ((date_start = '0000-00-00' OR date_start < '" . $this->NOW . "') AND (date_end = '0000-00-00' OR date_end > '" . $this->NOW . "')) ORDER BY quantity ASC, priority ASC, price ASC");return $query->rows;}public function getProductImages($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product_id . "' ORDER BY sort_order ASC");return $query->rows;}public function getProductRelated($product_id) {$product_data = array();$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");foreach ($query->rows as $result) {if( $product_id != $result['related_id'] )$product_data[$result['related_id']] = $this->getProduct($result['related_id']);}return $product_data;}public function getProductLayoutId($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_layout WHERE product_id = '" . (int)$product_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return $query->row['layout_id'];} else {return $this->config->get('config_layout_product');}}public function getCategories($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'");return $query->rows;}public function getTotalProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT COUNT(DISTINCT p.product_id) AS total";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->row['total'];}public function getTotalProductsID($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT p.product_id";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->rows;}public function getTotalProductSpecials() {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT COUNT(DISTINCT ps.product_id) AS total FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "'))");if (isset($query->row['total'])) {return $query->row['total'];} else {return 0;}}}?> Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Я Вам написал, что я внес изменения! не рилииет эи *** Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это *** втюхать! Буду писать админам Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Я Вам написал, что я внес изменения! не рилииет эи байда сраная Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это гавно втюхать! Буду писать админам ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 про не рилииет после внесения изменений не написано а конфликт с другим вкумодом рассматривать видимо тогда не надо? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 может вам гдемо Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник спасипотому что тупик Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 если вы будите помечать просто ик файлы испорчеными вы огребете видимо бан Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
lesnenko Posted November 28, 2014 Share Posted November 28, 2014 Я не пойму, зачем мне нанимать специалиси, когда у вас vqmod с самого начала неизвестно под что написан. Вот код моего catalog/model/catalog/product.php class ModelCatalogProduct extends Model {//Заменим NOW() в SQL-запросах на строку с текущим временем, но с 00 вместо секунд.//Тем самым мы включаем кэширование SQL-запросов на уровне сервера MySQL.//MySQL прекрасно кэширует запросы. Время жизни кэша - 1 минуи.private $NOW;public function __construct($registry) {$this->NOW = date('Y-m-d H:i') . ':00';parent::__construct($registry);}private $FOUND_ROWS;public function getFoundProducts() {return $this->FOUND_ROWS;}public function updateViewed($product_id) {$this->db->query("UPDATE " . DB_PREFIX . "product SET viewed = (viewed + 1) WHERE product_id = '" . (int)$product_id . "'");}public function getProduct($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status, (SELECT wcd.unit FROM " . DB_PREFIX . "weight_class_description wcd WHERE p.weight_class_id = wcd.weight_class_id AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS weight_class, (SELECT lcd.unit FROM " . DB_PREFIX . "length_class_description lcd WHERE p.length_class_id = lcd.length_class_id AND lcd.language_id = '" . (int)$this->config->get('config_language_id') . "') AS length_class, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT COUNT(*) AS total FROM " . DB_PREFIX . "review r2 WHERE r2.product_id = p.product_id AND r2.status = '1' GROUP BY r2.product_id) AS reviews, p.sort_order FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return array('seo_title' => $query->row['seo_title'],'seo_h1' => $query->row['seo_h1'],'product_id' => $query->row['product_id'],'name' => $query->row['name'],'description' => $query->row['description'],'meta_description' => $query->row['meta_description'],'meta_keyword' => $query->row['meta_keyword'],'tag' => $query->row['tag'],'model' => $query->row['model'],'sku' => $query->row['sku'],'upc' => $query->row['upc'],'ean' => $query->row['ean'],'jan' => $query->row['jan'],'isbn' => $query->row['isbn'],'mpn' => $query->row['mpn'],'location' => $query->row['location'],'quantity' => $query->row['quantity'],'stock_status' => $query->row['stock_status'],'image' => $query->row['image'],'manufacturer_id' => $query->row['manufacturer_id'],'manufacturer' => $query->row['manufacturer'],'price' => ($query->row['discount'] ? $query->row['discount'] : $query->row['price']),'special' => $query->row['special'],'reward' => $query->row['reward'],'points' => $query->row['points'],'tax_class_id' => $query->row['tax_class_id'],'date_available' => $query->row['date_available'],'weight' => $query->row['weight'],'weight_class_id' => $query->row['weight_class_id'],'length' => $query->row['length'],'width' => $query->row['width'],'height' => $query->row['height'],'length_class_id' => $query->row['length_class_id'],'subtract' => $query->row['subtract'],'rating' => round($query->row['rating']),'reviews' => $query->row['reviews'] ? $query->row['reviews'] : 0,'minimum' => $query->row['minimum'],'sort_order' => $query->row['sort_order'],'status' => $query->row['status'],'date_added' => $query->row['date_added'],'date_modified' => $query->row['date_modified'],'viewed' => $query->row['viewed']);} else {return false;}}public function getProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT SQL_CALC_FOUND_ROWS p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < '" . $this->NOW . "') AND (pd2.date_end = '0000-00-00' OR pd2.date_end > '" . $this->NOW . "')) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape($data['filter_tag']) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$sql .= " GROUP BY p.product_id";$sort_data = array('pd.name','p.model','p.quantity','p.price','rating','p.sort_order','p.date_added');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} elseif ($data['sort'] == 'p.price') {$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();// $product_data['sql']=$sql;// $this->log->($sql);$query = $this->db->query($sql);$num_query = $this->db->query("SELECT FOUND_ROWS() AS `found_rows`");$this->FOUND_ROWS = intval($num_query->row['found_rows']);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}// $product_data['sql']=$sql;return $product_data;}public function getProductSpecials($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT ps.product_id, (SELECT AVG(rating) FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = ps.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "')) GROUP BY ps.product_id";$sort_data = array('pd.name','p.model','ps.price','rating','p.sort_order');if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";} else {$sql .= " ORDER BY " . $data['sort'];}} else {$sql .= " ORDER BY p.sort_order";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC, LCASE(pd.name) DESC";} else {$sql .= " ASC, LCASE(pd.name) ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$product_data = array();$query = $this->db->query($sql);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getLatestProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.latest.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getPopularProducts($limit) {$product_data = array();$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.viewed, p.date_added DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}return $product_data;}public function getBestSellerProducts($limit) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$product_data = $this->cache->get('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit);if (!$product_data) {$product_data = array();$query = $this->db->query("SELECT op.product_id, COUNT(*) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);foreach ($query->rows as $result) {$product_data[$result['product_id']] = $this->getProduct($result['product_id']);}$this->cache->set('product.bestseller.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id'). '.' . $customer_group_id . '.' . (int)$limit, $product_data);}return $product_data;}public function getProductAttributes($product_id) {$product_attribute_group_data = array();$product_attribute_group_query = $this->db->query("SELECT ag.attribute_group_id, agd.name FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN " . DB_PREFIX . "attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE pa.product_id = '" . (int)$product_id . "' AND agd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY ag.attribute_group_id ORDER BY ag.sort_order, agd.name");foreach ($product_attribute_group_query->rows as $product_attribute_group) {$product_attribute_data = array();$product_attribute_query = $this->db->query("SELECT a.attribute_id, ad.name, pa.text FROM " . DB_PREFIX . "product_attribute pa LEFT JOIN " . DB_PREFIX . "attribute a ON (pa.attribute_id = a.attribute_id) LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) WHERE pa.product_id = '" . (int)$product_id . "' AND a.attribute_group_id = '" . (int)$product_attribute_group['attribute_group_id'] . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "' AND pa.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY a.sort_order, ad.name");foreach ($product_attribute_query->rows as $product_attribute) {$product_attribute_data[] = array('attribute_id' => $product_attribute['attribute_id'],'name' => $product_attribute['name'],'text' => $product_attribute['text']);}$product_attribute_group_data[] = array('attribute_group_id' => $product_attribute_group['attribute_group_id'],'name' => $product_attribute_group['name'],'attribute' => $product_attribute_data);}return $product_attribute_group_data;}public function getProductOptions($product_id) {$product_option_data = array();$product_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option po LEFT JOIN `" . DB_PREFIX . "option` o ON (po.option_id = o.option_id) LEFT JOIN " . DB_PREFIX . "option_description od ON (o.option_id = od.option_id) WHERE po.product_id = '" . (int)$product_id . "' AND od.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.sort_order");foreach ($product_option_query->rows as $product_option) {if ($product_option['type'] == 'select' || $product_option['type'] == 'radio' || $product_option['type'] == 'checkbox' || $product_option['type'] == 'image') {$product_option_value_data = array();$product_option_value_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_option_value pov LEFT JOIN " . DB_PREFIX . "option_value ov ON (pov.option_value_id = ov.option_value_id) LEFT JOIN " . DB_PREFIX . "option_value_description ovd ON (ov.option_value_id = ovd.option_value_id) WHERE pov.product_id = '" . (int)$product_id . "' AND pov.product_option_id = '" . (int)$product_option['product_option_id'] . "' AND ovd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY ov.sort_order");foreach ($product_option_value_query->rows as $product_option_value) {$product_option_value_data[] = array('product_option_value_id' => $product_option_value['product_option_value_id'],'option_value_id' => $product_option_value['option_value_id'],'name' => $product_option_value['name'],'image' => $product_option_value['image'],'quantity' => $product_option_value['quantity'],'subtract' => $product_option_value['subtract'],'price' => $product_option_value['price'],'price_prefix' => $product_option_value['price_prefix'],'weight' => $product_option_value['weight'],'weight_prefix' => $product_option_value['weight_prefix']);}$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option_value_data,'required' => $product_option['required']);} else {$product_option_data[] = array('product_option_id' => $product_option['product_option_id'],'option_id' => $product_option['option_id'],'name' => $product_option['name'],'type' => $product_option['type'],'option_value' => $product_option['option_value'],'required' => $product_option['required']);}}return $product_option_data;}public function getProductDiscounts($product_id) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$product_id . "' AND customer_group_id = '" . (int)$customer_group_id . "' AND quantity > 1 AND ((date_start = '0000-00-00' OR date_start < '" . $this->NOW . "') AND (date_end = '0000-00-00' OR date_end > '" . $this->NOW . "')) ORDER BY quantity ASC, priority ASC, price ASC");return $query->rows;}public function getProductImages($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product_id . "' ORDER BY sort_order ASC");return $query->rows;}public function getProductRelated($product_id) {$product_data = array();$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");foreach ($query->rows as $result) {if( $product_id != $result['related_id'] )$product_data[$result['related_id']] = $this->getProduct($result['related_id']);}return $product_data;}public function getProductLayoutId($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_layout WHERE product_id = '" . (int)$product_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'");if ($query->num_rows) {return $query->row['layout_id'];} else {return $this->config->get('config_layout_product');}}public function getCategories($product_id) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'");return $query->rows;}public function getTotalProducts($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT COUNT(DISTINCT p.product_id) AS total";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->row['total'];}public function getTotalProductsID($data = array()) {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$sql = "SELECT DISTINCT p.product_id";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (cp.category_id = p2c.category_id)";} else {$sql .= " FROM " . DB_PREFIX . "product_to_category p2c";}if (!empty($data['filter_filter'])) {$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";} else {$sql .= " LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)";}} else {$sql .= " FROM " . DB_PREFIX . "product p";}$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'";if (!empty($data['filter_category_id'])) {if (!empty($data['filter_sub_category'])) {$sql .= " AND cp.path_id = '" . (int)$data['filter_category_id'] . "'";} else {$sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'";}if (!empty($data['filter_filter'])) {$implode = array();$filters = explode(',', $data['filter_filter']);foreach ($filters as $filter_id) {$implode[] = (int)$filter_id;}$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";}}if (!empty($data['filter_name']) || !empty($data['filter_tag'])) {$sql .= " AND (";if (!empty($data['filter_name'])) {$implode = array();$words = explode(' ', trim(preg_replace('/\s\s+/', ' ', $data['filter_name'])));foreach ($words as $word) {$implode[] = "pd.name LIKE '%" . $this->db->escape($word) . "%'";}if ($implode) {$sql .= " " . implode(" AND ", $implode) . "";}if (!empty($data['filter_description'])) {$sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";}}if (!empty($data['filter_name']) && !empty($data['filter_tag'])) {$sql .= " OR ";}if (!empty($data['filter_tag'])) {$sql .= "pd.tag LIKE '%" . $this->db->escape(utf8_strtolower($data['filter_tag'])) . "%'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.sku) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.upc) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.ean) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.jan) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.isbn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}if (!empty($data['filter_name'])) {$sql .= " OR LCASE(p.mpn) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";}$sql .= ")";}if (!empty($data['filter_manufacturer_id'])) {$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";}$query = $this->db->query($sql);return $query->rows;}public function getTotalProductSpecials() {if ($this->customer->isLogged()) {$customer_group_id = $this->customer->getCustomerGroupId();} else {$customer_group_id = $this->config->get('config_customer_group_id');}$query = $this->db->query("SELECT COUNT(DISTINCT ps.product_id) AS total FROM " . DB_PREFIX . "product_special ps LEFT JOIN " . DB_PREFIX . "product p ON (ps.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < '" . $this->NOW . "') AND (ps.date_end = '0000-00-00' OR ps.date_end > '" . $this->NOW . "'))");if (isset($query->row['total'])) {return $query->row['total'];} else {return 0;}}}?> Link to comment Share on other sites More sharing options...
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Я Вам написал, что я внес изменения! не рилииет эи *** Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это *** втюхать! Буду писать админам Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Я Вам написал, что я внес изменения! не рилииет эи байда сраная Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это гавно втюхать! Буду писать админам ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 про не рилииет после внесения изменений не написано а конфликт с другим вкумодом рассматривать видимо тогда не надо? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 может вам гдемо Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник спасипотому что тупик Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 если вы будите помечать просто ик файлы испорчеными вы огребете видимо бан Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
lesnenko Posted November 28, 2014 Share Posted November 28, 2014 яже вам написал что сгделать у кого им еещё чтото а у кого то еещё чего улите как рилииет вкумод если хотите что то гделать или покупайте готовое решение это не синдартный модуль оплаты или досивки или улитывать в заказе это правка движка копируете всивляете я все описал как чего в чем проблема? Я Вам написал, что я внес изменения! не рилииет эи *** Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это *** втюхать! Буду писать админам Link to comment Share on other sites More sharing options...
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Я Вам написал, что я внес изменения! не рилииет эи байда сраная Я не прошу гделать под мой личный вариант, сгделайте для гдефолтного шаблона! Сколько модулей покупал, но икой херни не встречал, что бы мне еещё тыкали, что я должен сам допиливать. Походу автор не Вы, как Вы еещё за 10т.р. пыились это гавно втюхать! Буду писать админам ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 про не рилииет после внесения изменений не написано а конфликт с другим вкумодом рассматривать видимо тогда не надо? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 может вам гдемо Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник спасипотому что тупик Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 если вы будите помечать просто ик файлы испорчеными вы огребете видимо бан Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 про не рилииет после внесения изменений не написано а конфликт с другим вкумодом рассматривать видимо тогда не надо? Link to comment Share on other sites More sharing options... lesnenko Posted November 28, 2014 Share Posted November 28, 2014 ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 может вам гдемо Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник спасипотому что тупик Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 если вы будите помечать просто ик файлы испорчеными вы огребете видимо бан Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
lesnenko Posted November 28, 2014 Share Posted November 28, 2014 ага дядя вася автор разговаривать нормально наулитесь а потом хотелки свои высказывайте Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник Link to comment Share on other sites More sharing options...
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 может вам гдемо Это не хотелки, а трепотому чтование и претензии по качеству Хороших продаж умник спасипотому что тупик Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 если вы будите помечать просто ик файлы испорчеными вы огребете видимо бан Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 если вы будите помечать просто ик файлы испорчеными вы огребете видимо бан Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 Файл помечен как испорченный, ик как: Модуль не рилилий. В описании не указано для какой версии движка разрилиин. Автор слииет, что для версии 15512 нужно нанимать специалиси для адапиции. ну если руки то не из того меси и потому чтошка не варит то что же гделать пригдется Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 поэтому и не написана версия что адаптировать надо поэтому и этона в начно была 2900 потому что брал и гделал сам а тут по насивлениям нехотим хотим чтоб по щучьему вилению Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 разозил вы меня лесненко еещё и обзываетесь нихотите ничго гделать сидите и сапите в трупотому чточку зачем вам модули не понятно наймите грамотного специалиси а за 5 рублей магазин не построить модулями пригдеться править Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
hover Posted November 28, 2014 Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ Link to comment Share on other sites More sharing options...
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 ashap, Вы лучше бы не спорили, а догделали до ума модуль. Посмотрите вот и конкурент Вам https://opencart-forum.ru/files/file/2122-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B0%D0%BA%D1%86%D0%B8%D0%B8/ все что заявлено все есть пробуйте конкурени я не против Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 им даже на гдемо ошибки сыпет а вы говорите и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно у меня все это отрилиино опыт есть все можно реализовать Link to comment Share on other sites More sharing options... hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue
hover Posted November 28, 2014 Share Posted November 28, 2014 и ни окаких допилов янгдекс маркеих и батч эдиторах речь не игдет бугдет ли это гделать автор или нет неизвестно Да сгделайте уже наконец агдекватное описание, что за нарилитки, какие нарилитки. Для меня это ничего не говорит.Сгделайте нормальное описание по усиновке. Относитесь потому чтолее спокойно к критике. Да как лиия тему отпадает охои, что-то у Вас покупать. Я то купил из-за того, что не было альтернативы на тот момент. Сейчас появился подобный модуль. И не надо строить догадок, бугдет автор что-то догделывать или нет. Поверьте бугдет. Link to comment Share on other sites More sharing options...
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 С описанием все ок Все написано Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Подгдержка и ответы на вопросы Модули и дополнения Цены, скидки, акции, подарки Модуль Ночные акции (или слив товара минуя РЦ) [Подгдержка]
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 И все что было внес всё ик и есть Как был разрилиин и для каких условий Link to comment Share on other sites More sharing options... ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1 Go to topic listing Recently Browsing 0 members No registered users viewing this page.
ashap Posted November 28, 2014 Author Share Posted November 28, 2014 По усиновке Синдартная рилии с вкумод Если что я помагает говорю ггде ошибка А вообещё лог показывает Link to comment Share on other sites More sharing options... Prev 1 2 3 4 5 Next Page 4 of 5 Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 1
Recommended Posts