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

3 уровень категорий


Recommended Posts

Всем привет,

не могу разобраться с выводом 3-го уровня категорий в вертикальном меню...

Версия ocstore 1.0.1

Поиском нашел 2 варианта,

http://rb.labtodo.com/page/opencart-1512-modul-kategorij-tretij-uroven-bez-optimizacii-zaprosov

http://ow-s.com/interesnye-stati/81-dobavlenie-opencart-1513-tretego-urovnya-menyu-v-module-category-.html

ни один не работает... помогите плиз..

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


У меня получилось по второму варианту (версия 1.5.3.1) http://ow-s.com/interesnye-stati/81-dobavlenie-opencart-1513-tretego-urovnya-menyu-v-module-category-.html, только я сделала изменения. Выглядит так:

В файле catalog/controller/module/category.php

после кода

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

$this->data['child_id'] = $parts[1];

} else {

$this->data['child_id'] = 0;

}

вставляем код (как у автора, ничего не меняла)

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

$this->data['sisters_id'] = $parts[2];

} else {

$this->data['sisters_id'] = 0;

}

вместо кода

foreach ($children as $child) {

$data = array(

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

'filter_sub_category' => true

);

if ($setting['count']) {

$product_total = $this->model_catalog_product->getTotalProducts($data);

$children_data[] = array(

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

'name' => $child['name'] . ' (' . $product_total . ')',

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

);

} else {

$children_data[] = array(

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

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

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

);

}

}

$data = array(

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

'filter_sub_category' => true

);

if ($setting['count']) {

$product_total = $this->model_catalog_product->getTotalProducts($data);

$this->data['categories'][] = array(

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

'name' => $category['name'] . ' (' . $product_total . ')',

'children' => $children_data,

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

);

} else {

$this->data['categories'][] = array(

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

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

'children' => $children_data,

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

);

}

}

вставляем этот код (здесь немного меняла)

foreach ($categories as $category) {

$children_data = array();

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

foreach ($children as $child) {

$sister_data = array();

$sisters = $this->model_catalog_category->getCategories($child['category_id']);

if(count($sisters) > 1) {

foreach ($sisters as $sisterMember) {

$sister_data[] = array(

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

'name' => $sisterMember['name'],

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

);

}

$children_data[] = array(

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

'sister_id' => $sister_data,

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

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

);

}else{

$children_data[] = array(

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

'sister_id' =>'',

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

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

);

}

}

в файле cataloge/view/theme/ ваша тема /template/module/category.tpl

после кода

<?php foreach ($category['children'] as $child) { ?>

<li>

<?php if ($child['category_id'] == $child_id) { ?>

<a href="/<?php echo $child['href']; ?>"> - <?php echo $child['name']; ?></a>

<?php } else { ?>

<a href="/<?php echo $child['href']; ?>"> - <?php echo $child['name']; ?></a>

<?php } ?>

добавляем код (убрала лишние слеши)

<?php if($child['sister_id']){ ?>

<ul>

<?php foreach($child['sister_id'] as $sisters) { ?>

<li>

<?php if ($sisters['category_id'] == $sisters_id) { ?>

<a href="<?php echo $sisters['href']; ?>" class="active"> - <?php echo $sisters['name']; ?></a>

<?php } else { ?>

<a href="<?php echo $sisters['href']; ?>"> - <?php echo $sisters['name']; ?></a>

<?php } ?>

</li>

<?php } ?>

</ul>

<?php } ?>

Ну и в стилях немного поправила, но это уже под Вашу тему нужно подбирать.

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


  • 1 month later...

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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