Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] ocStore-2.1.0.1 - страница по умолчанию при открытии сайта


SaidAiuta

Recommended Posts

Извиняюсь за нубский вопрос, в факе/поиске не нашел.

 

ocStore-2.1.0.1

Хочется увидеть при попадании на сайт http://xn--80aafhaga9aj8ce.xn--p1ai/

страницу с развернутым списком всех категорий, т.е. эту страницу:

http://xn--80aafhaga9aj8ce.xn--p1ai/index.php?route=product/category&path=59

Ну и соответственно когда по логотипу в левом верхнем углу нажимаешь, то попадаешь опять в развернутый список категорий.

 

Категория главная одна, и выгружается из 1С, особого желания крутить карусели т.п. вещи нет.

Змінено користувачем SaidAiuta
Надіслати
Поділитися на інших сайтах


Сам себе и отвечаю :). Проверено на ocStore-2.1.0.1

 

Если кому надо - для отображения подкатегорий в списке категорий, т.е. сразу видим раскрытый список категорий, нужно исправить 2 файла в стандартной теме. 

 

The Controller: catalog/controller/module/category.php

<?php
class ControllerModuleCategory extends Controller {
    public function index() {
        $this->load->language('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'])
            );
        }

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

The View file: catalog/view/theme/default/template/module/category.tpl

<div class="list-group">
  <?php foreach ($categories as $category) { ?>
  <?php //if ($category['category_id'] == $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">   - <?php echo $child['name']; ?></a>
  <?php } else { ?>
  <a href="<?php echo $child['href']; ?>" class="list-group-item">   - <?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://stackoverflow.com/questions/32442713/opencart-2-show-all-subcategories-in-category-module-by-default-php

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.