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

Дерево категорий


r00t

Recommended Posts

Возможно кому будет и интерестно, по представляю полное дерево категорий

post-5981-0-90333600-1301774151_thumb.jpg

В стандарте слева показываются категории. В стандарте опять-таки - только рутовые.

Открываем catalog/controller/module/category.php

protected function getCategories($parent_id, $current_path = '') {
        $category_id = array_shift($this->path);
 
        $output = '';
 
        $results = $this->model_catalog_category->getCategories($parent_id);
 
        if ($results) { 
            $output .= '<ul>';
        }
 
        foreach ($results as $result) {    
            if (!$current_path) {
                $new_path = $result['category_id'];
            } else {
                $new_path = $current_path . '_' . $result['category_id'];
            }
 
            $output .= '<li>';
 
            $children = '';
 
            if ($category_id == $result['category_id']) {
                $children = $this->getCategories($result['category_id'], $new_path);
            }
 
            if ($this->category_id == $result['category_id']) {
                $output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '"><b>' . $result['name'] . '</b></a>';
            } else {
                $output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">' . $result['name'] . '</a>';
            }
 
            $output .= $children;
 
            $output .= '</li>'; 
        }
 
        if ($results) {
            $output .= '</ul>';
        }
 
        return $output;
    }

Заменяем на:

protected function getCategories($parent_id, $current_path = '') {
        $output = '';
 
        $results = $this->model_catalog_category->getCategories($parent_id);
 
        if ($results) {
            $output .= '<ul>';
        }
 
        foreach ($results as $result) {    
            if (!$current_path) {
                $new_path = $result['category_id'];
            } else {
                $new_path = $current_path . '_' . $result['category_id'];
            }
 
            $output .= '<li>';
 
            $output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)  . '">' . $result['name'] . '</a>';
 
            $output .= $this->getCategories($result['category_id'], $new_path);
 
            $output .= '</li>'; 
        }
 
        if ($results) {
            $output .= '</ul>';
        }
 
        return $output;
    }
  • +1 1
Надіслати
Поділитися на інших сайтах


  • 1 month later...
  • 3 months later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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