gagarin79 Опубліковано: 5 листопада 2013 Share Опубліковано: 5 листопада 2013 Добрый день. Коллеги, подскажите, есть ли модуль, позволяющий присваивать несколько родительских категорий для одной подкатегории в структуре каталога? Надіслати Поділитися на інших сайтах More sharing options...
boris425 Опубліковано: 4 листопада 2014 Share Опубліковано: 4 листопада 2014 На сколько я знаю есть модуль - multi parent category: http://www.opencart.com/index.php?route=extension/extension/info&extension_id=18829&filter_search=parent%20category но здесь я его не встречал. Тоже бы приобрел такой модуль. Надіслати Поділитися на інших сайтах More sharing options...
riny Опубліковано: 4 листопада 2014 Share Опубліковано: 4 листопада 2014 На сколько я знаю есть модуль - multi parent category: http://www.opencart.com/index.php?route=extension/extension/info&extension_id=18829&filter_search=parent%20category но здесь я его не встречал. Тоже бы приобрел такой модуль. автор возможно буржуй, а значит этот модуль ожидать здесь бесполезно. модуль по ссылке не факт что нормально станет на ocstore, т.к. сделан под opencart. Надіслати Поділитися на інших сайтах More sharing options... deim Опубліковано: 5 листопада 2014 Share Опубліковано: 5 листопада 2014 автор возможно буржуй, а значит этот модуль ожидать здесь бесполезно. модуль по ссылке не факт что нормально станет на ocstore, т.к. сделан под opencart. Почему бесполезно? Тут половина форума написать его может Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 5 листопада 2014 Share Опубліковано: 5 листопада 2014 Почему бесполезно? Тут половина форума написать его может потому что стоит перечитать мое сообщение. я не про написать, а про конкретный модуль, который собрались ждать тут. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... wikiparse Опубліковано: 28 червня 2015 Share Опубліковано: 28 червня 2015 (змінено) нашел решение - но оно под 2.0 не знаю, реально ли реализовать для 1.5.. STEP 1;- Create Table. "oc_category_multiparen" CREATE TABLE IF NOT EXISTS `oc_category_multiparent` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category_id` int(11) NOT NULL, `parent_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; STEP 2:- update oc_category set parent_id=0; STEP 3:- Change follwoing files as below I admin/model/catalog/category.php Add new method. as follwing. ------------------------------------------- public function getParentCategories($category_id) { //echo " inside getParentCategories".$category_id; $parent_category_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_multiparent WHERE category_id = '" . (int)$category_id . "'"); foreach ($query->rows as $result) { $parent_category_data[] = $result['parent_id']; } return $parent_category_data; } ------------------------------------- public function getMultipleParentCategories($category_id) { $query = $this->db->query("SELECT CONCAT( CONCAT( '(', GROUP_CONCAT( cd1.name ORDER BY cp.level SEPARATOR ')(' ) ) , ') >' ) AS parentcategories FROM " . DB_PREFIX . "category_multiparent cmprt LEFT JOIN " . DB_PREFIX . "category_description cd1 ON ( cmprt.parent_id = cd1.category_id ) LEFT JOIN " . DB_PREFIX . "category_path cp ON ( cp.category_id = cmprt.parent_id ) WHERE cmprt.category_id='" . (int)$category_id . "'"); return $query->rows; } -------------------------------- Inside existing function public function editCategory($category_id, $data) { add follwing code $this->db->query("DELETE FROM " . DB_PREFIX . "category_multiparent WHERE category_id = '" . (int)$category_id . "'"); if (isset($data['product_category'])) { foreach ($data['product_category'] as $parent_id) { echo "Category parentid". $parent_id; $this->db->query("INSERT INTO " . DB_PREFIX . "category_multiparent SET category_id = '" . (int)$category_id . "', parent_id = '" . (int)$parent_id . "'"); } } ================================================ 2. admin/language/english/catalog/category.php Add follwing Lines $_['entry_category'] = 'Parent Categories'; $_['help_category'] = '(Autocomplete)'; ============================================== 3. admin/view/template/catalog/category_form.tpl Add follwing Lines ---------------------------------------------------AT html section------------------------ <div class="form-group"> <label class="col-sm-2 control-label" for="input-category"><span data-toggle="tooltip" title="<?php echo $help_category; ?>"><?php echo $entry_category; ?></span></label> <div class="col-sm-10"> <input type="text" name="category" value="" placeholder="<?php echo $entry_category; ?>" id="input-category" class="form-control" /> <div id="product-category" class="well well-sm" style="height: 150px; overflow: auto;"> <?php foreach ($product_categories as $product_category) { ?> <div id="product-category<?php echo $product_category['category_id']; ?>"><i class="fa fa-minus-circle"></i> <?php echo $product_category['name']; ?> <input type="hidden" name="product_category[]" value="<?php echo $product_category['category_id']; ?>" /> </div> <?php } ?> </div> </div> </div> --------------------------------------------------------following in script section------------- // Category $('input[name=\'category\']').autocomplete({ 'source': function(request, response) { $.ajax({ url: 'index.php?route=catalog/category/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['category_id'] } })); } }); }, 'select': function(item) { $('input[name=\'category\']').val(''); // Category $('input[name=\'category\']').autocomplete({ 'source': function(request, response) { $.ajax({ url: 'index.php?route=catalog/category/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['category_id'] } })); } }); }, 'select': function(item) { $('input[name=\'category\']').val(''); $('#product-category' + item['value']).remove(); $('#product-category').append('<div id="product-category' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_category[]" value="' + item['value'] + '" /></div>'); } }); $('#product-category').delegate('.fa-minus-circle', 'click', function() { $(this).parent().remove(); }); $('#product-category' + item['value']).remove(); $('#product-category').append('<div id="product-category' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_category[]" value="' + item['value'] + '" /></div>'); } }); $('#product-category').delegate('.fa-minus-circle', 'click', function() { $(this).parent().remove(); }); ======================================================= 4. admin/controller/catalog/category.php Add follwing Lines in existing method getForm() { ----------------------------------------------- $data['entry_category'] = $this->language->get('entry_category'); $data['help_category'] = $this->language->get('help_category'); ----------------------------------------------- if (isset($this->request->post['product_category'])) { $categories = $this->request->post['product_category']; } elseif (isset($this->request->get['category_id'])) { $categories = $this->model_catalog_category->getParentCategories($this->request->get['category_id']); } else { $categories = array(); } $data['product_categories'] = array(); foreach ($categories as $category_id) { $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $data['product_categories'][] = array( 'category_id' => $category_info['category_id'], 'name' => ($category_info['path']) ? $category_info['path'] . ' > ' . $category_info['name'] : $category_info['name'] ); } } ------------------------ in Existing method protected function getList() { update following code -------------------------------------foreach ($results as $result) { $multipleCategories = $this->model_catalog_category->getMultipleParentCategories($result['category_id']); // echo $multipleCategories; $data['categories'][] = array( 'category_id' => $result['category_id'], 'name' => $multipleCategories[0]['parentcategories'].$result['name'], 'sort_order' => $result['sort_order'], 'edit' => $this->url->link('catalog/category/edit', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL'), 'delete' => $this->url->link('catalog/category/delete', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL') ); } ================================== 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) { if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)"); return $query->rows; } ==================================== :) MULTI PARENT CATEGORY OPENCART Interation is Done Enjoy :) Змінено 5 липня 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 28 червня 2015 Share Опубліковано: 28 червня 2015 Может кто подскажет? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... wikiparse Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 https://opencartforum.com/files/file/2582-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%80%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%B4%D0%BA%D0%B0%D1%82%D0%B5%D0%B3/ модуль Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 12 липня 2015 Share Опубліковано: 12 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? дублей не будет, т.к. родительская категория в урл не будет присутствовать Надіслати Поділитися на інших сайтах More sharing options... 4 months later... snail21 Опубліковано: 4 грудня 2015 Share Опубліковано: 4 грудня 2015 Сделала модуль по вышеприведенному решению, но он подхватывается только родным опенкартовским меню, супер мега меню не видит подкатегорий добавленных этим способом. И в общем списке категорий они тоже не выводятся, наверно дело в этих пунктах 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) {if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");return $query->rows;} но что с ними сделать чтоб в суперменю они тоже были видны? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Поиск модулей Возможность выбора нескольких родительских категорий в каталоге Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
deim Опубліковано: 5 листопада 2014 Share Опубліковано: 5 листопада 2014 автор возможно буржуй, а значит этот модуль ожидать здесь бесполезно. модуль по ссылке не факт что нормально станет на ocstore, т.к. сделан под opencart. Почему бесполезно? Тут половина форума написать его может Надіслати Поділитися на інших сайтах More sharing options... riny Опубліковано: 5 листопада 2014 Share Опубліковано: 5 листопада 2014 Почему бесполезно? Тут половина форума написать его может потому что стоит перечитать мое сообщение. я не про написать, а про конкретный модуль, который собрались ждать тут. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... wikiparse Опубліковано: 28 червня 2015 Share Опубліковано: 28 червня 2015 (змінено) нашел решение - но оно под 2.0 не знаю, реально ли реализовать для 1.5.. STEP 1;- Create Table. "oc_category_multiparen" CREATE TABLE IF NOT EXISTS `oc_category_multiparent` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category_id` int(11) NOT NULL, `parent_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; STEP 2:- update oc_category set parent_id=0; STEP 3:- Change follwoing files as below I admin/model/catalog/category.php Add new method. as follwing. ------------------------------------------- public function getParentCategories($category_id) { //echo " inside getParentCategories".$category_id; $parent_category_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_multiparent WHERE category_id = '" . (int)$category_id . "'"); foreach ($query->rows as $result) { $parent_category_data[] = $result['parent_id']; } return $parent_category_data; } ------------------------------------- public function getMultipleParentCategories($category_id) { $query = $this->db->query("SELECT CONCAT( CONCAT( '(', GROUP_CONCAT( cd1.name ORDER BY cp.level SEPARATOR ')(' ) ) , ') >' ) AS parentcategories FROM " . DB_PREFIX . "category_multiparent cmprt LEFT JOIN " . DB_PREFIX . "category_description cd1 ON ( cmprt.parent_id = cd1.category_id ) LEFT JOIN " . DB_PREFIX . "category_path cp ON ( cp.category_id = cmprt.parent_id ) WHERE cmprt.category_id='" . (int)$category_id . "'"); return $query->rows; } -------------------------------- Inside existing function public function editCategory($category_id, $data) { add follwing code $this->db->query("DELETE FROM " . DB_PREFIX . "category_multiparent WHERE category_id = '" . (int)$category_id . "'"); if (isset($data['product_category'])) { foreach ($data['product_category'] as $parent_id) { echo "Category parentid". $parent_id; $this->db->query("INSERT INTO " . DB_PREFIX . "category_multiparent SET category_id = '" . (int)$category_id . "', parent_id = '" . (int)$parent_id . "'"); } } ================================================ 2. admin/language/english/catalog/category.php Add follwing Lines $_['entry_category'] = 'Parent Categories'; $_['help_category'] = '(Autocomplete)'; ============================================== 3. admin/view/template/catalog/category_form.tpl Add follwing Lines ---------------------------------------------------AT html section------------------------ <div class="form-group"> <label class="col-sm-2 control-label" for="input-category"><span data-toggle="tooltip" title="<?php echo $help_category; ?>"><?php echo $entry_category; ?></span></label> <div class="col-sm-10"> <input type="text" name="category" value="" placeholder="<?php echo $entry_category; ?>" id="input-category" class="form-control" /> <div id="product-category" class="well well-sm" style="height: 150px; overflow: auto;"> <?php foreach ($product_categories as $product_category) { ?> <div id="product-category<?php echo $product_category['category_id']; ?>"><i class="fa fa-minus-circle"></i> <?php echo $product_category['name']; ?> <input type="hidden" name="product_category[]" value="<?php echo $product_category['category_id']; ?>" /> </div> <?php } ?> </div> </div> </div> --------------------------------------------------------following in script section------------- // Category $('input[name=\'category\']').autocomplete({ 'source': function(request, response) { $.ajax({ url: 'index.php?route=catalog/category/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['category_id'] } })); } }); }, 'select': function(item) { $('input[name=\'category\']').val(''); // Category $('input[name=\'category\']').autocomplete({ 'source': function(request, response) { $.ajax({ url: 'index.php?route=catalog/category/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['category_id'] } })); } }); }, 'select': function(item) { $('input[name=\'category\']').val(''); $('#product-category' + item['value']).remove(); $('#product-category').append('<div id="product-category' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_category[]" value="' + item['value'] + '" /></div>'); } }); $('#product-category').delegate('.fa-minus-circle', 'click', function() { $(this).parent().remove(); }); $('#product-category' + item['value']).remove(); $('#product-category').append('<div id="product-category' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_category[]" value="' + item['value'] + '" /></div>'); } }); $('#product-category').delegate('.fa-minus-circle', 'click', function() { $(this).parent().remove(); }); ======================================================= 4. admin/controller/catalog/category.php Add follwing Lines in existing method getForm() { ----------------------------------------------- $data['entry_category'] = $this->language->get('entry_category'); $data['help_category'] = $this->language->get('help_category'); ----------------------------------------------- if (isset($this->request->post['product_category'])) { $categories = $this->request->post['product_category']; } elseif (isset($this->request->get['category_id'])) { $categories = $this->model_catalog_category->getParentCategories($this->request->get['category_id']); } else { $categories = array(); } $data['product_categories'] = array(); foreach ($categories as $category_id) { $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $data['product_categories'][] = array( 'category_id' => $category_info['category_id'], 'name' => ($category_info['path']) ? $category_info['path'] . ' > ' . $category_info['name'] : $category_info['name'] ); } } ------------------------ in Existing method protected function getList() { update following code -------------------------------------foreach ($results as $result) { $multipleCategories = $this->model_catalog_category->getMultipleParentCategories($result['category_id']); // echo $multipleCategories; $data['categories'][] = array( 'category_id' => $result['category_id'], 'name' => $multipleCategories[0]['parentcategories'].$result['name'], 'sort_order' => $result['sort_order'], 'edit' => $this->url->link('catalog/category/edit', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL'), 'delete' => $this->url->link('catalog/category/delete', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL') ); } ================================== 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) { if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)"); return $query->rows; } ==================================== :) MULTI PARENT CATEGORY OPENCART Interation is Done Enjoy :) Змінено 5 липня 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 28 червня 2015 Share Опубліковано: 28 червня 2015 Может кто подскажет? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... wikiparse Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 https://opencartforum.com/files/file/2582-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%80%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%B4%D0%BA%D0%B0%D1%82%D0%B5%D0%B3/ модуль Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 12 липня 2015 Share Опубліковано: 12 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? дублей не будет, т.к. родительская категория в урл не будет присутствовать Надіслати Поділитися на інших сайтах More sharing options... 4 months later... snail21 Опубліковано: 4 грудня 2015 Share Опубліковано: 4 грудня 2015 Сделала модуль по вышеприведенному решению, но он подхватывается только родным опенкартовским меню, супер мега меню не видит подкатегорий добавленных этим способом. И в общем списке категорий они тоже не выводятся, наверно дело в этих пунктах 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) {if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");return $query->rows;} но что с ними сделать чтоб в суперменю они тоже были видны? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Поиск модулей Возможность выбора нескольких родительских категорий в каталоге Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
riny Опубліковано: 5 листопада 2014 Share Опубліковано: 5 листопада 2014 Почему бесполезно? Тут половина форума написать его может потому что стоит перечитать мое сообщение. я не про написать, а про конкретный модуль, который собрались ждать тут. Надіслати Поділитися на інших сайтах More sharing options... 7 months later... wikiparse Опубліковано: 28 червня 2015 Share Опубліковано: 28 червня 2015 (змінено) нашел решение - но оно под 2.0 не знаю, реально ли реализовать для 1.5.. STEP 1;- Create Table. "oc_category_multiparen" CREATE TABLE IF NOT EXISTS `oc_category_multiparent` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category_id` int(11) NOT NULL, `parent_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; STEP 2:- update oc_category set parent_id=0; STEP 3:- Change follwoing files as below I admin/model/catalog/category.php Add new method. as follwing. ------------------------------------------- public function getParentCategories($category_id) { //echo " inside getParentCategories".$category_id; $parent_category_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_multiparent WHERE category_id = '" . (int)$category_id . "'"); foreach ($query->rows as $result) { $parent_category_data[] = $result['parent_id']; } return $parent_category_data; } ------------------------------------- public function getMultipleParentCategories($category_id) { $query = $this->db->query("SELECT CONCAT( CONCAT( '(', GROUP_CONCAT( cd1.name ORDER BY cp.level SEPARATOR ')(' ) ) , ') >' ) AS parentcategories FROM " . DB_PREFIX . "category_multiparent cmprt LEFT JOIN " . DB_PREFIX . "category_description cd1 ON ( cmprt.parent_id = cd1.category_id ) LEFT JOIN " . DB_PREFIX . "category_path cp ON ( cp.category_id = cmprt.parent_id ) WHERE cmprt.category_id='" . (int)$category_id . "'"); return $query->rows; } -------------------------------- Inside existing function public function editCategory($category_id, $data) { add follwing code $this->db->query("DELETE FROM " . DB_PREFIX . "category_multiparent WHERE category_id = '" . (int)$category_id . "'"); if (isset($data['product_category'])) { foreach ($data['product_category'] as $parent_id) { echo "Category parentid". $parent_id; $this->db->query("INSERT INTO " . DB_PREFIX . "category_multiparent SET category_id = '" . (int)$category_id . "', parent_id = '" . (int)$parent_id . "'"); } } ================================================ 2. admin/language/english/catalog/category.php Add follwing Lines $_['entry_category'] = 'Parent Categories'; $_['help_category'] = '(Autocomplete)'; ============================================== 3. admin/view/template/catalog/category_form.tpl Add follwing Lines ---------------------------------------------------AT html section------------------------ <div class="form-group"> <label class="col-sm-2 control-label" for="input-category"><span data-toggle="tooltip" title="<?php echo $help_category; ?>"><?php echo $entry_category; ?></span></label> <div class="col-sm-10"> <input type="text" name="category" value="" placeholder="<?php echo $entry_category; ?>" id="input-category" class="form-control" /> <div id="product-category" class="well well-sm" style="height: 150px; overflow: auto;"> <?php foreach ($product_categories as $product_category) { ?> <div id="product-category<?php echo $product_category['category_id']; ?>"><i class="fa fa-minus-circle"></i> <?php echo $product_category['name']; ?> <input type="hidden" name="product_category[]" value="<?php echo $product_category['category_id']; ?>" /> </div> <?php } ?> </div> </div> </div> --------------------------------------------------------following in script section------------- // Category $('input[name=\'category\']').autocomplete({ 'source': function(request, response) { $.ajax({ url: 'index.php?route=catalog/category/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['category_id'] } })); } }); }, 'select': function(item) { $('input[name=\'category\']').val(''); // Category $('input[name=\'category\']').autocomplete({ 'source': function(request, response) { $.ajax({ url: 'index.php?route=catalog/category/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['category_id'] } })); } }); }, 'select': function(item) { $('input[name=\'category\']').val(''); $('#product-category' + item['value']).remove(); $('#product-category').append('<div id="product-category' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_category[]" value="' + item['value'] + '" /></div>'); } }); $('#product-category').delegate('.fa-minus-circle', 'click', function() { $(this).parent().remove(); }); $('#product-category' + item['value']).remove(); $('#product-category').append('<div id="product-category' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_category[]" value="' + item['value'] + '" /></div>'); } }); $('#product-category').delegate('.fa-minus-circle', 'click', function() { $(this).parent().remove(); }); ======================================================= 4. admin/controller/catalog/category.php Add follwing Lines in existing method getForm() { ----------------------------------------------- $data['entry_category'] = $this->language->get('entry_category'); $data['help_category'] = $this->language->get('help_category'); ----------------------------------------------- if (isset($this->request->post['product_category'])) { $categories = $this->request->post['product_category']; } elseif (isset($this->request->get['category_id'])) { $categories = $this->model_catalog_category->getParentCategories($this->request->get['category_id']); } else { $categories = array(); } $data['product_categories'] = array(); foreach ($categories as $category_id) { $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $data['product_categories'][] = array( 'category_id' => $category_info['category_id'], 'name' => ($category_info['path']) ? $category_info['path'] . ' > ' . $category_info['name'] : $category_info['name'] ); } } ------------------------ in Existing method protected function getList() { update following code -------------------------------------foreach ($results as $result) { $multipleCategories = $this->model_catalog_category->getMultipleParentCategories($result['category_id']); // echo $multipleCategories; $data['categories'][] = array( 'category_id' => $result['category_id'], 'name' => $multipleCategories[0]['parentcategories'].$result['name'], 'sort_order' => $result['sort_order'], 'edit' => $this->url->link('catalog/category/edit', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL'), 'delete' => $this->url->link('catalog/category/delete', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL') ); } ================================== 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) { if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)"); return $query->rows; } ==================================== :) MULTI PARENT CATEGORY OPENCART Interation is Done Enjoy :) Змінено 5 липня 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 28 червня 2015 Share Опубліковано: 28 червня 2015 Может кто подскажет? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... wikiparse Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 https://opencartforum.com/files/file/2582-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%80%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%B4%D0%BA%D0%B0%D1%82%D0%B5%D0%B3/ модуль Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 12 липня 2015 Share Опубліковано: 12 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? дублей не будет, т.к. родительская категория в урл не будет присутствовать Надіслати Поділитися на інших сайтах More sharing options... 4 months later... snail21 Опубліковано: 4 грудня 2015 Share Опубліковано: 4 грудня 2015 Сделала модуль по вышеприведенному решению, но он подхватывается только родным опенкартовским меню, супер мега меню не видит подкатегорий добавленных этим способом. И в общем списке категорий они тоже не выводятся, наверно дело в этих пунктах 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) {if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");return $query->rows;} но что с ними сделать чтоб в суперменю они тоже были видны? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Поиск модулей Возможность выбора нескольких родительских категорий в каталоге Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
wikiparse Опубліковано: 28 червня 2015 Share Опубліковано: 28 червня 2015 (змінено) нашел решение - но оно под 2.0 не знаю, реально ли реализовать для 1.5.. STEP 1;- Create Table. "oc_category_multiparen" CREATE TABLE IF NOT EXISTS `oc_category_multiparent` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category_id` int(11) NOT NULL, `parent_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; STEP 2:- update oc_category set parent_id=0; STEP 3:- Change follwoing files as below I admin/model/catalog/category.php Add new method. as follwing. ------------------------------------------- public function getParentCategories($category_id) { //echo " inside getParentCategories".$category_id; $parent_category_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_multiparent WHERE category_id = '" . (int)$category_id . "'"); foreach ($query->rows as $result) { $parent_category_data[] = $result['parent_id']; } return $parent_category_data; } ------------------------------------- public function getMultipleParentCategories($category_id) { $query = $this->db->query("SELECT CONCAT( CONCAT( '(', GROUP_CONCAT( cd1.name ORDER BY cp.level SEPARATOR ')(' ) ) , ') >' ) AS parentcategories FROM " . DB_PREFIX . "category_multiparent cmprt LEFT JOIN " . DB_PREFIX . "category_description cd1 ON ( cmprt.parent_id = cd1.category_id ) LEFT JOIN " . DB_PREFIX . "category_path cp ON ( cp.category_id = cmprt.parent_id ) WHERE cmprt.category_id='" . (int)$category_id . "'"); return $query->rows; } -------------------------------- Inside existing function public function editCategory($category_id, $data) { add follwing code $this->db->query("DELETE FROM " . DB_PREFIX . "category_multiparent WHERE category_id = '" . (int)$category_id . "'"); if (isset($data['product_category'])) { foreach ($data['product_category'] as $parent_id) { echo "Category parentid". $parent_id; $this->db->query("INSERT INTO " . DB_PREFIX . "category_multiparent SET category_id = '" . (int)$category_id . "', parent_id = '" . (int)$parent_id . "'"); } } ================================================ 2. admin/language/english/catalog/category.php Add follwing Lines $_['entry_category'] = 'Parent Categories'; $_['help_category'] = '(Autocomplete)'; ============================================== 3. admin/view/template/catalog/category_form.tpl Add follwing Lines ---------------------------------------------------AT html section------------------------ <div class="form-group"> <label class="col-sm-2 control-label" for="input-category"><span data-toggle="tooltip" title="<?php echo $help_category; ?>"><?php echo $entry_category; ?></span></label> <div class="col-sm-10"> <input type="text" name="category" value="" placeholder="<?php echo $entry_category; ?>" id="input-category" class="form-control" /> <div id="product-category" class="well well-sm" style="height: 150px; overflow: auto;"> <?php foreach ($product_categories as $product_category) { ?> <div id="product-category<?php echo $product_category['category_id']; ?>"><i class="fa fa-minus-circle"></i> <?php echo $product_category['name']; ?> <input type="hidden" name="product_category[]" value="<?php echo $product_category['category_id']; ?>" /> </div> <?php } ?> </div> </div> </div> --------------------------------------------------------following in script section------------- // Category $('input[name=\'category\']').autocomplete({ 'source': function(request, response) { $.ajax({ url: 'index.php?route=catalog/category/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['category_id'] } })); } }); }, 'select': function(item) { $('input[name=\'category\']').val(''); // Category $('input[name=\'category\']').autocomplete({ 'source': function(request, response) { $.ajax({ url: 'index.php?route=catalog/category/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['category_id'] } })); } }); }, 'select': function(item) { $('input[name=\'category\']').val(''); $('#product-category' + item['value']).remove(); $('#product-category').append('<div id="product-category' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_category[]" value="' + item['value'] + '" /></div>'); } }); $('#product-category').delegate('.fa-minus-circle', 'click', function() { $(this).parent().remove(); }); $('#product-category' + item['value']).remove(); $('#product-category').append('<div id="product-category' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product_category[]" value="' + item['value'] + '" /></div>'); } }); $('#product-category').delegate('.fa-minus-circle', 'click', function() { $(this).parent().remove(); }); ======================================================= 4. admin/controller/catalog/category.php Add follwing Lines in existing method getForm() { ----------------------------------------------- $data['entry_category'] = $this->language->get('entry_category'); $data['help_category'] = $this->language->get('help_category'); ----------------------------------------------- if (isset($this->request->post['product_category'])) { $categories = $this->request->post['product_category']; } elseif (isset($this->request->get['category_id'])) { $categories = $this->model_catalog_category->getParentCategories($this->request->get['category_id']); } else { $categories = array(); } $data['product_categories'] = array(); foreach ($categories as $category_id) { $category_info = $this->model_catalog_category->getCategory($category_id); if ($category_info) { $data['product_categories'][] = array( 'category_id' => $category_info['category_id'], 'name' => ($category_info['path']) ? $category_info['path'] . ' > ' . $category_info['name'] : $category_info['name'] ); } } ------------------------ in Existing method protected function getList() { update following code -------------------------------------foreach ($results as $result) { $multipleCategories = $this->model_catalog_category->getMultipleParentCategories($result['category_id']); // echo $multipleCategories; $data['categories'][] = array( 'category_id' => $result['category_id'], 'name' => $multipleCategories[0]['parentcategories'].$result['name'], 'sort_order' => $result['sort_order'], 'edit' => $this->url->link('catalog/category/edit', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL'), 'delete' => $this->url->link('catalog/category/delete', 'token=' . $this->session->data['token'] . '&category_id=' . $result['category_id'] . $url, 'SSL') ); } ================================== 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) { if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)"); return $query->rows; } ==================================== :) MULTI PARENT CATEGORY OPENCART Interation is Done Enjoy :) Змінено 5 липня 2015 користувачем afwollis Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 28 червня 2015 Share Опубліковано: 28 червня 2015 Может кто подскажет? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... wikiparse Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 https://opencartforum.com/files/file/2582-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%80%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%B4%D0%BA%D0%B0%D1%82%D0%B5%D0%B3/ модуль Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 12 липня 2015 Share Опубліковано: 12 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? дублей не будет, т.к. родительская категория в урл не будет присутствовать Надіслати Поділитися на інших сайтах More sharing options... 4 months later... snail21 Опубліковано: 4 грудня 2015 Share Опубліковано: 4 грудня 2015 Сделала модуль по вышеприведенному решению, но он подхватывается только родным опенкартовским меню, супер мега меню не видит подкатегорий добавленных этим способом. И в общем списке категорий они тоже не выводятся, наверно дело в этих пунктах 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) {if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");return $query->rows;} но что с ними сделать чтоб в суперменю они тоже были видны? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Поиск модулей Возможность выбора нескольких родительских категорий в каталоге Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
wikiparse Опубліковано: 28 червня 2015 Share Опубліковано: 28 червня 2015 Может кто подскажет? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... wikiparse Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 https://opencartforum.com/files/file/2582-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%80%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%B4%D0%BA%D0%B0%D1%82%D0%B5%D0%B3/ модуль Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 12 липня 2015 Share Опубліковано: 12 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? дублей не будет, т.к. родительская категория в урл не будет присутствовать Надіслати Поділитися на інших сайтах More sharing options... 4 months later... snail21 Опубліковано: 4 грудня 2015 Share Опубліковано: 4 грудня 2015 Сделала модуль по вышеприведенному решению, но он подхватывается только родным опенкартовским меню, супер мега меню не видит подкатегорий добавленных этим способом. И в общем списке категорий они тоже не выводятся, наверно дело в этих пунктах 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) {if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");return $query->rows;} но что с ними сделать чтоб в суперменю они тоже были видны? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Поиск модулей Возможность выбора нескольких родительских категорий в каталоге Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV
wikiparse Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 https://opencartforum.com/files/file/2582-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%80%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%B4%D0%BA%D0%B0%D1%82%D0%B5%D0%B3/ модуль Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 12 липня 2015 Share Опубліковано: 12 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? дублей не будет, т.к. родительская категория в урл не будет присутствовать Надіслати Поділитися на інших сайтах More sharing options... 4 months later... snail21 Опубліковано: 4 грудня 2015 Share Опубліковано: 4 грудня 2015 Сделала модуль по вышеприведенному решению, но он подхватывается только родным опенкартовским меню, супер мега меню не видит подкатегорий добавленных этим способом. И в общем списке категорий они тоже не выводятся, наверно дело в этих пунктах 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) {if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");return $query->rows;} но что с ними сделать чтоб в суперменю они тоже были видны? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Модулі та розширення Поиск модулей Возможность выбора нескольких родительских категорий в каталоге
AlexDW Опубліковано: 11 липня 2015 Share Опубліковано: 11 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? Надіслати Поділитися на інших сайтах More sharing options... wikiparse Опубліковано: 12 липня 2015 Share Опубліковано: 12 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? дублей не будет, т.к. родительская категория в урл не будет присутствовать Надіслати Поділитися на інших сайтах More sharing options... 4 months later... snail21 Опубліковано: 4 грудня 2015 Share Опубліковано: 4 грудня 2015 Сделала модуль по вышеприведенному решению, но он подхватывается только родным опенкартовским меню, супер мега меню не видит подкатегорий добавленных этим способом. И в общем списке категорий они тоже не выводятся, наверно дело в этих пунктах 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) {if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");return $query->rows;} но что с ними сделать чтоб в суперменю они тоже были видны? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
wikiparse Опубліковано: 12 липня 2015 Share Опубліковано: 12 липня 2015 а как потом определять, которая из родительских категорий родительнейстей? ну - чисто для исключения дублей для ПС? дублей не будет, т.к. родительская категория в урл не будет присутствовать Надіслати Поділитися на інших сайтах More sharing options... 4 months later... snail21 Опубліковано: 4 грудня 2015 Share Опубліковано: 4 грудня 2015 Сделала модуль по вышеприведенному решению, но он подхватывается только родным опенкартовским меню, супер мега меню не видит подкатегорий добавленных этим способом. И в общем списке категорий они тоже не выводятся, наверно дело в этих пунктах 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) {if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");return $query->rows;} но что с ними сделать чтоб в суперменю они тоже были видны? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
snail21 Опубліковано: 4 грудня 2015 Share Опубліковано: 4 грудня 2015 Сделала модуль по вышеприведенному решению, но он подхватывается только родным опенкартовским меню, супер мега меню не видит подкатегорий добавленных этим способом. И в общем списке категорий они тоже не выводятся, наверно дело в этих пунктах 5. catalog/controller/common/header.php replace the following line with the following //$children = $this->model_catalog_category->getCategories($category['category_id']); Replace above with the below line In ControllerCommonHeader's loop section foreach ($categories as $category) {if ($category['top']) { $children = $this->model_catalog_category->getMultiParentCategories($category['category_id']); } ------------------------------------ 6. catalog/model/catalog/category.php Add following new method public function getMultiParentCategories($parent_id = 0) {$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_multiparent cmprt ON (c.category_id = cmprt.category_id) WHERE cmprt.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");return $query->rows;} но что с ними сделать чтоб в суперменю они тоже были видны? Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts