Как в OpenCart 1.5 создать два разных меню, точнее как в каталоге при создании категории или подкатегории выбирать где показывать(в меню 1 или в меню 2)?
поставить модуль который может делать произвольное меню и туда и вставлять ссылки нужные. А чтобы галочкой из категории, такого не видел.
Может Вам такой вариант подойдет: Сперва делаем бэкап базы данных. 0. После чего выполняете запрос! (если у Вас суффикс базы другой то измените в запросе "oc_" ) Код: ALTER TABLE oc_category ADD COLUMN top INT(1) NOT NULL DEFAULT '0' AFTER top2 1. /catalog/controller/common/header.php После: PHP: // Search if (isset($this->request->get['search'])) { $this->data['search'] = $this->request->get['search']; } else { $this->data['search'] = ''; } Вставить: PHP: if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $this->data['category_id'] = $parts[0]; } else { $this->data['category_id'] = 0; } if (isset($parts[1])) { $this->data['child_id'] = $parts[1]; } else { $this->data['child_id'] = 0; } if (isset($parts[2])) { $this->data['ch3_id'] = $parts[2]; } else { $this->data['ch3_id'] = 0; } Перед: PHP: $this->children = array( Вставить: PHP: $categories2 = $this->model_catalog_category->getCategories(0); foreach ($categories2 as $category) { if ($category['top2']) { // Level 2 $children_data = array(); $children = $this->model_catalog_category->getCategories($category['category_id']); foreach ($children as $child) { $data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); $product_total = $this->model_catalog_product->getTotalProducts($data); $children_data[] = array( 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) ); } // Level 1 $this->data['categories2'][] = array( 'name' => $category['name'], 'children' => $children_data, 'column' => $category['column'] ? $category['column'] : 1, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } } 2. /catalog/view/theme/ВАША_ТЕМА/template/common/header.tpl В нужном месте шаблона вставить. PHP: <?php if ($categories2) { ?> <ul> <?php foreach ($categories2 as $category) { ?> <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php if ($category['children']) { ?> <div> <?php for ($i = 0; $i < count($category['children']);) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } ?> <?php } ?> </ul> <?php } ?> </div> <?php } ?> </li> <?php } ?> </ul><?php } ?> АДМИКА 1. /admin/controller/catalog/admin/controller/catalog/category.php Найти: PHP: $this->data['entry_top'] = $this->language->get('entry_top'); Вставить PHP: $this->data['entry_top2'] = $this->language->get('entry_top2'); Далее найти PHP: if (isset($this->request->post['top'])) { $this->data['top'] = $this->request->post['top']; } elseif (!empty($category_info)) { $this->data['top'] = $category_info['top']; } else { $this->data['top'] = 0; } После добавить PHP: if (isset($this->request->post['top2'])) { $this->data['top2'] = $this->request->post['top2']; } elseif (!empty($category_info)) { $this->data['top2'] = $category_info['top2']; } else { $this->data['top2'] = 0; } 2. /admin/model/catalog/category.php Найти: PHP: public function addCategory($data) { $this->db->query("INSERT INTO " . DB_PREFIX . "category SET parent_id = '" . (int)$data['parent_id'] . "', `top` = '" . (isset($data['top']) ? (int)$data['top'] : 0) . "', `column` = '" . (int)$data['column'] . "', sort_order = '" . (int)$data['sort_order'] . "', status = '" . (int)$data['status'] . "', date_modified = NOW(), date_added = NOW()"); Заменить на PHP: public function addCategory($data) { $this->db->query("INSERT INTO " . DB_PREFIX . "category SET parent_id = '" . (int)$data['parent_id'] . "', `top` = '" . (isset($data['top']) ? (int)$data['top'] : 0) . "', `top2` = '" . (isset($data['top2']) ? (int)$data['top2'] : 0) . "', `column` = '" . (int)$data['column'] . "', sort_order = '" . (int)$data['sort_order'] . "', status = '" . (int)$data['status'] . "', date_modified = NOW(), date_added = NOW()"); Найти PHP: public function editCategory($category_id, $data) { $this->db->query("UPDATE " . DB_PREFIX . "category SET parent_id = '" . (int)$data['parent_id'] . "', `top` = '" . (isset($data['top']) ? (int)$data['top'] : 0) . "', `column` = '" . (int)$data['column'] . "', sort_order = '" . (int)$data['sort_order'] . "', status = '" . (int)$data['status'] . "', date_modified = NOW() WHERE category_id = '" . (int)$category_id . "'"); Заменить PHP: public function editCategory($category_id, $data) { $this->db->query("UPDATE " . DB_PREFIX . "category SET parent_id = '" . (int)$data['parent_id'] . "', `top` = '" . (isset($data['top']) ? (int)$data['top'] : 0) . "', `top2` = '" . (isset($data['top2']) ? (int)$data['top2'] : 0) . "', `column` = '" . (int)$data['column'] . "', sort_order = '" . (int)$data['sort_order'] . "', status = '" . (int)$data['status'] . "', date_modified = NOW() WHERE category_id = '" . (int)$category_id . "'"); Или в эти функции добавить PHP: `top2` = '" . (isset($data['top2']) ? (int)$data['top2'] : 0) . "', 3. /admin/language/russian/catalog/category.php добавить PHP: $_['entry_top2'] = 'Второе меню'; 4. /admin/view/template/catalog/category_form.tpl найти PHP: <tr> <td><?php echo $entry_top; ?></td> <td><?php if ($top) { ?> <input type="checkbox" name="top" value="1" checked="checked" /> <?php } else { ?> <input type="checkbox" name="top" value="1" /> <?php } ?></td> </tr> Ниже PHP: <tr> <td><?php echo $entry_top2; ?></td> <td><?php if ($top2) { ?> <input type="checkbox" name="top2" value="1" checked="checked" /> <?php } else { ?> <input type="checkbox" name="top2" value="1" /> <?php } ?></td> </tr> В итоге у Вас будет аналог первого меню, с выводом род.категории или подкатегории Вроде ничего не забыл, будут ошибки - пишите.