Как раскрыть пункт меню на главной

Тема в разделе "Общие вопросы", создана пользователем Romans, 18 апр 2015.

  1. Aleks-spb

    Aleks-spb Новичок

    Сообщения:
    9
    Симпатии:
    0
    Спасибо, очень помогли)
     
  2. klekovkinandrey

    klekovkinandrey Новичок

    Сообщения:
    17
    Симпатии:
    0
    Ребята подскажите, как сформировать что бы выводились категориями списком а не просто <a>
     
  3. Bkmz

    Bkmz Продвинутый пользователь

    Сообщения:
    440
    Симпатии:
    106
    вам бы сначала научиться выражать свои мысли правильно))
    чтобы кто-то вас смог понять...
     
  4. klekovkinandrey

    klekovkinandrey Новичок

    Сообщения:
    17
    Симпатии:
    0
    Спасибо что откликнулись. сейчас объясню
     
  5. klekovkinandrey

    klekovkinandrey Новичок

    Сообщения:
    17
    Симпатии:
    0
    Смотрите. сделал как описал автор

    сама конструкция модуля категорий

    PHP:
    <div class="list-group">
      <?php foreach ($categories as $category) { ?>
     <?php if ($category['category_id']) { ?>
      <a href="<?php echo $category['href']; ?>" class="list-group-item active"><?php echo $category['name']; ?></a>
      <?php if ($category['children']) { ?>
      <?php foreach ($category['children'] as $child) { ?>
      <?php if ($child['category_id'] == $child_id) { ?>
      <a href="<?php echo $child['href']; ?>" class="list-group-item active">&nbsp;&nbsp;&nbsp;- <?php echo $child['name']; ?></a>
      <?php } else { ?>
      <a href="<?php echo $child['href']; ?>" class="list-group-item">&nbsp;&nbsp;&nbsp;- <?php echo $child['name']; ?></a>
      <?php ?>
      <?php ?>
      <?php ?>
      <?php } else { ?>
      <a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a>
      <?php ?>
      <?php ?>
    </div>
    не могу понять как вставить список правильно, я с этими условиями ничего понят немогу
    <ul><li> как не тыкал, список не правильно формируется
    хотелось бы что бы конструкция выглядела вот так
    HTML:
    <ul>
    <li><a href="#">Категория</a></li>
    <ul>
    <li><a href="#">Категория</a>
    <ul>
    <li><a href="#">Подкатегория</a></li>
    <li><a href="#">Подкатегория</a></li>
    <li><a href="#">Подкатегория</a></li>
    </ul>
    </li>
    <li><a href="#">Категория</a></li>
    </ul>
     
  6. Bkmz

    Bkmz Продвинутый пользователь

    Сообщения:
    440
    Симпатии:
    106
    пожалуйста, оформляйте код... http://forum.opencart-russia.ru/threads/rekomendacii-po-oformleniju-koda-i-voprosov.460/

    рекомендации автора все выполнили?

    что не правильно формируется? порядок показа категорий?
     
  7. klekovkinandrey

    klekovkinandrey Новичок

    Сообщения:
    17
    Симпатии:
    0
  8. aero3d

    aero3d Новичок

    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте, а в opencart 2.3.0.2 как такое реализовать?
    там путь /catalog/controller/extension/module/ и сам код:
    Код:
    ?php
    class ControllerExtensionModuleCategory extends Controller {
        public function index() {
            $this->load->language('extension/module/category');
    
            $data['heading_title'] = $this->language->get('heading_title');
    
            if (isset($this->request->get['path'])) {
                $parts = explode('_', (string)$this->request->get['path']);
            } else {
                $parts = array();
            }
    
            if (isset($parts[0])) {
                $data['category_id'] = $parts[0];
            } else {
                $data['category_id'] = 0;
            }
    
            if (isset($parts[1])) {
                $data['child_id'] = $parts[1];
            } else {
                $data['child_id'] = 0;
            }
    
            $this->load->model('catalog/category');
    
            $this->load->model('catalog/product');
    
            $data['categories'] = array();
    
            $categories = $this->model_catalog_category->getCategories(0);
    
            foreach ($categories as $category) {
                $children_data = array();
    
                if ($category['category_id'] == $data['category_id']) {
                    $children = $this->model_catalog_category->getCategories($category['category_id']);
    
                    foreach($children as $child) {
                        $filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true);
    
                        $children_data[] = array(
                            'category_id' => $child['category_id'],
                            'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                            'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
                        );
                    }
                }
    
                $filter_data = array(
                    'filter_category_id'  => $category['category_id'],
                    'filter_sub_category' => true
                );
    
                $data['categories'][] = array(
                    'category_id' => $category['category_id'],
                    'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                    'children'    => $children_data,
                    'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])
                );
            }
    
            return $this->load->view('extension/module/category', $data);
        }
    }
    
     
  9. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    Точно так же. Только путь к файлам через extension
     
  10. timurkin

    timurkin Пользователь

    Сообщения:
    36
    Симпатии:
    2
    Подскажите пожалуйста, использую модуль категорий "Категории IMG", для вывода категорий в виде картинок на главной.
    Сайт
    http://lavka.web-tim.ru

    Как в модуле вывести дочерние категории под главной категорией?
    Прикладываю шаблон и контроллер.
    HTML:
    <h3 class="module-title"><span><?php echo $heading_title; ?></span></h3>
    <div class="row imgcategory">
        <?php foreach ($categories as $category) { ?>
            <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
                <div class="product-thumb transition">
                    <div class="image"><a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>"/></a></div>
                    <h4><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></h4>
                </div>
            </div>
        <?php } ?>
    </div>
    PHP:
    <?php
    class ControllerExtensionModuleImgcategory extends Controller {
        
        public function 
    index($setting) {
            
            
    $this->load->language('extension/module/imgcategory');

            
    $data['heading_title'] = $this->language->get('heading_title');

            
    $this->load->model('catalog/category');

            
    $this->load->model('tool/image');

            
    $data['categories'] = array();
            
            
    $results $this->model_catalog_category->getCategories($setting['category_id']);

            foreach (
    $results as $result) {
                
                if (
    $result['image']) {
                    
    $image $result['image'];
                } else {
                    
    $image 'placeholder.png';
                }
                
    $data['categories'][] = array (
                    
    'href'     => $this->url->link('product/category''path=' $result['category_id']),
                    
    'thumb'    => $this->model_tool_image->resize($image$setting['width'], $setting['height']),
                    
    'name'     => $result['name'],
                );
            }
        
            return 
    $this->load->view('extension/module/imgcategory'$data);
          }
    }
    ?>
     
  11. oscarhandsome

    oscarhandsome Новичок

    Сообщения:
    4
    Симпатии:
    0
    Добрый день, изучаю OpenCart. Сделал данные махинации. Версия 2.3.0.2
    Только у меня путь был к файлам через папку extension
    Но ничего не получилось. В чем может быть загвоздка?

    \category.php
    PHP:
    <?php

    class ControllerExtensionModuleCategory extends Controller {

        public function 
    index() {

            
    $this->load->language('extension/module/category');



            
    $data['heading_title'] = $this->language->get('heading_title');



            if (isset(
    $this->request->get['path'])) {

                
    $parts explode('_', (string)$this->request->get['path']);

            } else {

                
    $parts = array();

            }



            if (isset(
    $parts[0])) {

                
    $data['category_id'] = $parts[0];

            } else {

                
    $data['category_id'] = 0;

            }



            if (isset(
    $parts[1])) {

                
    $data['child_id'] = $parts[1];

            } else {

                
    $data['child_id'] = 0;

            }



            
    $this->load->model('catalog/category');



            
    $this->load->model('catalog/product');



            
    $data['categories'] = array();



            
    $categories $this->model_catalog_category->getCategories(0);



            foreach (
    $categories as $category) {

                
    $children_data = array();


    //before                if ($category['category_id'] == $data['category_id']) {
                
    if ($category['category_id']) {

                    
    $children $this->model_catalog_category->getCategories($category['category_id']);



                    foreach(
    $children as $child) {

                        
    $filter_data = array('filter_category_id' => $child['category_id'], 'filter_sub_category' => true);



                        
    $children_data[] = array(

                            
    'category_id' => $child['category_id'],

                            
    'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' $this->model_catalog_product->getTotalProducts($filter_data) . ')' ''),

                            
    'href' => $this->url->link('product/category''path=' $category['category_id'] . '_' $child['category_id'])

                        );

                    }

                }



                
    $filter_data = array(

                    
    'filter_category_id'  => $category['category_id'],

                    
    'filter_sub_category' => true

                
    );



                
    $data['categories'][] = array(

                    
    'category_id' => $category['category_id'],

                    
    'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' $this->model_catalog_product->getTotalProducts($filter_data) . ')' ''),

                    
    'children'    => $children_data,

                    
    'href'        => $this->url->link('product/category''path=' $category['category_id'])

                );

            }



            return 
    $this->load->view('extension/module/category'$data);

        }

    }
    \category.tpl
    Код:
    <div class="list-group">
    
        <?php foreach ($categories as $category) { ?>
    
        <?php if ($category['category_id']) { ?>
    
        <a href="<?php echo $category['href']; ?>" class="list-group-item active"><?php echo $category['name']; ?></a>
    
        <?php if ($category['children']) { ?>
    
        <?php foreach ($category['children'] as $child) { ?>
    
        <?php if ($child['category_id'] == $child_id) { ?>
    
        <a href="<?php echo $child['href']; ?>" class="list-group-item active">&nbsp;&nbsp;&nbsp;- <?php echo $child['name']; ?></a>
    
        <?php } else { ?>
    
        <a href="<?php echo $child['href']; ?>" class="list-group-item">&nbsp;&nbsp;&nbsp;- <?php echo $child['name']; ?></a>
    
        <?php } ?>
    
        <?php } ?>
    
        <?php } ?>
    
        <?php } else { ?>
    
        <a href="<?php echo $category['href']; ?>" class="list-group-item"><?php echo $category['name']; ?></a>
    
        <?php } ?>
    
        <?php } ?>
    
     
    </div>
    
    

    Сайт http://test.aqua-el-shop.ru/
     
    Последнее редактирование: 6 дек 2017
  12. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    В обновлении кеша модификатора и в правильных файлах для редактирования если у вас своя тема.
     
  13. oscarhandsome

    oscarhandsome Новичок

    Сообщения:
    4
    Симпатии:
    0
    проделал процедуру обновления модификатора:
    system\storage\modification\
    Удаляем отсюда все

    Временно удаляем из system все xml
    кроме modification

    В Расширения/модификаторы отключаем все

    Обновляем.
    Не догоняю, почему. Может не верно обновление делаю?
    Копаю в сторону не верных файлов...


    Да вроде не тупой, читал, чистил и обновлял(и просто обновлял). Ноу results поэтому я не догоняю еще в чем загвоздка.
     
    Последнее редактирование: 7 дек 2017
  14. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    Такой не скромный вопрос, а читать документацию не пробовали? Ведь написано, что просто нажать кнопку Обновить и все!
    Читать документацию это круто, не нужно этого стыдится!!!
     
  15. ABabiy

    ABabiy Новичок

    Сообщения:
    3
    Симпатии:
    0
    Добрый день!
    А как такое для 3-го опенкарта сделать?
    Спасибо!
     
  16. Ravilr

    Ravilr Специалист

    Сообщения:
    3.879
    Симпатии:
    1.065
    Так же как и описано в первом сообщении.
     
  17. ABabiy

    ABabiy Новичок

    Сообщения:
    3
    Симпатии:
    0
    В 3 другая структура каталогов.
     
  18. Ravilr

    Ravilr Специалист

    Сообщения:
    3.879
    Симпатии:
    1.065
    \catalog\controller\extension\module\category.php
    Я конечно понимаю блаженное желание открыть рот и ждать когда кто то с ложечкой положит кашку прямо в рот... НО не поддерживаю такую позицию. Ну изменилась структура немного и что? Нет документации что ли? Все же есть и путь указан. Да и просто посмотреть внимательно можно ведь? Правда? Ведь не сложно найти нужное
     
  19. ABabiy

    ABabiy Новичок

    Сообщения:
    3
    Симпатии:
    0
    Не все занимаются именно Opencartom и на вскидку не получается быстро решать что и где находится - потому задают вопросы тем, кто в этом гуру.
    Я вот например не нашёл кода $data['heading_title'] в данном файле. Результат -то нужно всё-равно получить. Почитал - вижу надо кэш чистить, модификаторы обновлять. Попробую.
    В любом случае спасибо за участие и подсказки.
     
  20. rgpp

    rgpp Новичок

    Сообщения:
    4
    Симпатии:
    0
    Проблема похожа на решение в 4 посте, но немного другая
    При нажатии на категорию в боковом меню открывается страница категории, а в самом меню список подкатегорий(все первого уровня). Так вот, сама проблема следующая - когда после переходишь в подкатегорию открывается нужная страница, а список подкатегорий убирается - остается только меню с родительскими категориями! (А необходимо сделать так чтобы, подкатегория стала активной или хотя бы список подкатегорий остался)

    Прошу помочь с решением, как понимаю править нужно 2 файла: \catalog\controller\module\category.php и \catalog\view\theme\default\template\module\category.tpl

    Заранее благодарен за помощь!