Стена категории (Список категорий для главной)

Тема в разделе "Готовые модули и модификаторы. Бесплатно", создана пользователем Slait, 24 июн 2016.

?

Пригодился Вам модуль?

  1. Да

    87 голосов
    94,6%
  2. Нет

    3 голосов
    3,3%
  3. Мне все равно

    2 голосов
    2,2%
  1. Denisio

    Denisio Новичок

    Сообщения:
    6
    Симпатии:
    0
    Спасибо, что нашли время хотя бы указать направление! Будем искать)
     
  2. yaroslavskubiy

    yaroslavskubiy Новичок

    Сообщения:
    6
    Симпатии:
    0
    За модуль, автору огромное спасибо!!!
    А как сделать, что-бы после нажатия на категорию, открывалось подобное окно с дочерними категориями и естественно с картинками?
     
  3. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Добавить категориям картинки и вывести их в шаблон!
     
  4. yaroslavskubiy

    yaroslavskubiy Новичок

    Сообщения:
    6
    Симпатии:
    0
    так и делаю. но когда вывожу их в шаблон, то выводится только три подкатегории.
     
  5. yaroslavskubiy

    yaroslavskubiy Новичок

    Сообщения:
    6
    Симпатии:
    0
    Вопрос решился. Просто код задвоенный был.
     
  6. Sergey161

    Sergey161 Новичок

    Сообщения:
    11
    Симпатии:
    0
    Добрый день, а как вывести количество товаров?
     
  7. karpov

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

    Сообщения:
    1.519
    Симпатии:
    241
    Посмотрите пример в стандартном контроллере категории category.php
     
  8. Sergey161

    Sergey161 Новичок

    Сообщения:
    11
    Симпатии:
    0
    Понял, спасибо, посмотрю.
     
  9. timurkin

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

    Сообщения:
    36
    Симпатии:
    2
    Спасибо! Мне помогло)
    Единственное, вы забыли закрыть цикл,
    полный файл работающего category_wall.php с подкатегориями:
    <?php
    class ControllerExtensionModuleCategoryWall extends Controller {

    public function index() {
    $this->load->language('extension/module/category_wall');

    $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();

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

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

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

    foreach ($categories as $category) {
    $children_data = array();
    if ($category['top']) {
    $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'])
    );
    }

    if ($category['image']) {
    $image = $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height'));
    } else {
    $image = $this->model_tool_image->resize('placeholder.png', $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height'));
    }

    $data['categories'][] = array(
    'description' => $category['description'],
    'name' => $category['name'],
    'children' => $children_data,
    'image' => $image,
    'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
    );
    }
    }
    return $this->load->view('extension/module/category_wall', $data);


    }
    }


     
    Dim33 нравится это.
  10. Dim33

    Dim33 Новичок

    Сообщения:
    1
    Симпатии:
    0
    Или я хреново умею читать, или я не нашел тут как убрать(исключить) категорию. У меня одна прям лишняя.
     
  11. Ravilr

    Ravilr Специалист

    Сообщения:
    3.879
    Симпатии:
    1.065
    Тут нету. Меняйте контроллер, точнее массив для исключении категории. Проще всего поставить проверку в массиве.
     
  12. Анпил

    Анпил Новичок

    Сообщения:
    1
    Симпатии:
    0
    А если картинки в категориях выводились и вдруг пропали, а вместо них значок ОС? В чем может быть проблема?
     
  13. Ravilr

    Ravilr Специалист

    Сообщения:
    3.879
    Симпатии:
    1.065
    Все что угодно. Но для начала проверьте, а если они в админке в категориях.
     
  14. Vipsaler

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

    Сообщения:
    77
    Симпатии:
    1
    Подскажите как сделать, чтобы отображались категории, которые не включены в главное меню. Спасибо!
     
  15. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    Откройте контроллер витрины category_wall.php
    Необходимо переписать условия начиная отсюда
    PHP:
    if ($category['top']) {
     
    Vipsaler нравится это.
  16. Neptunin

    Neptunin Новичок

    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте, хочу сделать так чтобы: если отсутствует товар в категории - она не отображалась.
    Посмотрите пожалуйста где ошибся? Ошибки не выскакивают, но и не работает, если вставить строчку
    Код:
    if ($this->model_catalog_product->getTotalProducts($filter_data) != 0)
    в стандартный модуль Категория, перед
    Код:
    $children_data[] = array(
                            'category_id' => $child['category_id'],
    То в нем работает, вот код category_wall.php
    PHP:
    <?php
    class ControllerModuleCategoryWall extends Controller {

        public function 
    index() {
            
    $this->load->language('module/category_wall');

            
    $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();

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

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

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

            foreach (
    $categories as $category) {
                
    $children_data = array();
                if (
    $category['top']) {
                    
    $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);
                        if (
    $this->model_catalog_product->getTotalProducts($filter_data) != 0)
                        
    $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'])
                        );
                        }
                
    $img_w $this->config->get('config_image_category_width');
                
    $img_h $this->config->get('config_image_category_height');

                if (
    $category['image']) {
                    
    $image $this->model_tool_image->resize($category['image'], $img_w$img_h);
                } else {
                    
    $image $this->model_tool_image->resize('placeholder.png'$img_w$img_h);
                }

                
    $data['categories'][] = array(
                    
    'description' => $category['description'],
                    
    'name' => $category['name'],
                    
    'children'    => $children_data,
                    
    'image' => $image,
                    
    'href' => $this->url->link('product/category''path=' $category['category_id'])
                    );
                }
            }

            if (
    file_exists(DIR_TEMPLATE $this->config->get('config_template') . '/template/module/category_wall.tpl')) {
                return 
    $this->load->view($this->config->get('config_template') . '/template/module/category_wall.tpl'$data);
            } else {
                return 
    $this->load->view('default/template/module/category_wall.tpl'$data);
            }
        }
    }
     
  17. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    А зачем вообще нужна категория в которой нет товара?

    Модификаторы обновили?
     
  18. Neptunin

    Neptunin Новичок

    Сообщения:
    4
    Симпатии:
    0
    1. В ней время от времени будут появляться товары
    2. Управлять контентом будет блондинка, все нужно свести к минимуму
     
  19. DiMoss

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

    Сообщения:
    862
    Симпатии:
    236
    Обратите внимание, что Вы фильтруете дочерние категории?
    Вам от них нужно избавиться? Или от самого верхнего уровня?
     
  20. Neptunin

    Neptunin Новичок

    Сообщения:
    4
    Симпатии:
    0
    от самого верхнего