Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Как вывести подкатегории текущей категории.

Тема в разделе "Вопросы- ответы", создана пользователем master-rasskazov, 5 окт 2019.

05.10.19 в 16:48
13.10.19 в 16:13
14
835
0
  1. TopicStarter Overlay
    master-rasskazov

    master-rasskazov Бывалый

    Регистрация:
    24 авг 2019
    Сообщения:
    156
    Лучших ответов:
    0
    Рейтинги:
    +21 / 12 / -0
    Всем привет,может кто поможет плиз.Заплачу если будет работать,без проблем.
    В общем задача такая:.

    Пример:
    Чел зашёл на раздел "номер 1" ему показываются (в виде ссылки) все его подразделы "номер 1,2", "номер 1,3" "номер 1,4" и т.д. а также этот же раздел в котором он находится в данный момент,то бишь основной раздел "номер 1".

    Дальше он решил перейти на подраздел "номер 1,2",и в этом разделе ему так же показываются подразделы "номер 1,2" "номер 1,3" "номер 1,4" и т.д. ...а также сам основной раздел "номер 1".И так далее,то есть по сути нужно зафиксировать все подразделы и текущий раздел на странице.

    Дело в том что все варианты которые перепробовал не получаются потому что для того чтобы выводились все подразделы текущего раздела,то нужно указывать конкретно ID основного/текущего раздела.А мне нужно чтобы автоматически определялся основной раздел и выводились на нём под-разделы.И так же на страницах под-разделов.

    Помогите люди добрые.уже измучмлся вторые сутки,всё перепробовал нет варианта.
     
  2. Codescript

    PRO Users

    Регистрация:
    6 сен 2017
    Сообщения:
    975
    Лучших ответов:
    0
    Рейтинги:
    +253 / 33 / -0
    Вывести подкатегории опр. категории: [category=1]{catmenu id="1" subcat="only"} [/category]

    А показать список основных категорий с подкатегориями - как вариант создать страницу статистическую и в ней списком вывести нужные категории в которых есть подкатегории
     
  3. TopicStarter Overlay
    master-rasskazov

    master-rasskazov Бывалый

    Регистрация:
    24 авг 2019
    Сообщения:
    156
    Лучших ответов:
    0
    Рейтинги:
    +21 / 12 / -0
    Спасибо большое но это не то.Может я недопонимая чего.
    Мне нужно получается получить текущую категорию,и получить все её подкатегории.
     
  4. dj-avtosh

    dj-avtosh Зелёный

    Регистрация:
    7 окт 2019
    Сообщения:
    14
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    master-rasskazov здравствуйте.

    Я так понимаю, Вы должны вставить такую конструкцию в main.tpl над {content}

    Код:
    [category={category-id}]{catmenu id="{category-id}" subcat="only"} [/category]
     
  5. TopicStarter Overlay
    master-rasskazov

    master-rasskazov Бывалый

    Регистрация:
    24 авг 2019
    Сообщения:
    156
    Лучших ответов:
    0
    Рейтинги:
    +21 / 12 / -0
    К сожалению не работает.
    Ещё раз попробую:
    Материал добавляется в подраздел и автоматически в главный раздел (родительский).
    Дело в том что я сортирую по подразделам новости,но они всё равно принадлежат одному главному разделу,и ссылки на эти подразделы должны быть видны только на странице полной новости.
    То есть на странице полной новости,должны отображаться главный раздел и всё его подразделы.
    При переходе на подраздел ничего не должно меняться.То есть так же должны оставаться главный раздел и все его подразделы,только текущий подраздел должен подсвечиваться,чтобы было понятно в каком подразделе находится юзер.

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

    Проблема в том что когда переходишь в подраздел,он автоматически становится главным разделом и пропадают все ссылки на другие подразделы.

    Проблема в том что главных разделов 250 штук и по 80 подразделов в каждом.

    .
     
  6. Codescript

    PRO Users

    Регистрация:
    6 сен 2017
    Сообщения:
    975
    Лучших ответов:
    0
    Рейтинги:
    +253 / 33 / -0
    ясно, вам нужен аякс-переход
     
  7. Codescript

    PRO Users

    Регистрация:
    6 сен 2017
    Сообщения:
    975
    Лучших ответов:
    0
    Рейтинги:
    +253 / 33 / -0
    ну как бы это и решает данная конструкция:

    [category=ИД главного раздела-категории в общем]{catmenu id="ИД" subcat="only"} [/category]

    выводит подкатегории главной категории
     
  8. Codescript

    PRO Users

    Регистрация:
    6 сен 2017
    Сообщения:
    975
    Лучших ответов:
    0
    Рейтинги:
    +253 / 33 / -0
    не становится, он так и остается под-разделом,

    просто указывается что находитесь не на главной категории а в подкатегории)
     
  9. Codescript

    PRO Users

    Регистрация:
    6 сен 2017
    Сообщения:
    975
    Лучших ответов:
    0
    Рейтинги:
    +253 / 33 / -0

    просто выводить в новости к каким категориям относится новость {link-category}
     
  10. Codescript

    PRO Users

    Регистрация:
    6 сен 2017
    Сообщения:
    975
    Лучших ответов:
    0
    Рейтинги:
    +253 / 33 / -0
    Это можно сделать, сделав меню категорий )

    с CSS для подсветки на борту
     
  11. TopicStarter Overlay
    master-rasskazov

    master-rasskazov Бывалый

    Регистрация:
    24 авг 2019
    Сообщения:
    156
    Лучших ответов:
    0
    Рейтинги:
    +21 / 12 / -0
    [category={category-id}]{catmenu id="{category-id}" subcat="only"} [/category]

    Нет не получается к сожалению.
    В fullstory не выводит подкатегории.

    У меня вот такого вида,
    {catmenu id="{parent-category}" subcat="only" template="menucustom" cache="no"}
    человек делал но почему-то слетело после обновления движка.
     
  12. dj-avtosh

    dj-avtosh Зелёный

    Регистрация:
    7 окт 2019
    Сообщения:
    14
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    Попытаюсь ответить.

    engine/modules/functions.php найти:

    Код:
    ?>
    Выше вставить:

    Код:
    function findCategoryParentTree( $categoryId = null, array $flatArr = [], $onlyRoot = false, $parentKey = 'parentid', $key = 'id' )
    {
    
        $resultArr = [];
    
        if ( ! empty ( $categoryId ) && ! empty ( $flatArr ) )
        {
    
            $parent_id = $flatArr[$categoryId][$parentKey];
    
            while ( $parent_id )
            {
    
                $parent_id_dump = $parent_id;
    
                false == $onlyRoot && $resultArr[] = $parent_id;
    
                $parent_id = $flatArr[$parent_id][$parentKey];
    
                if ( isset ( $parent_id ) && $flatArr[$parent_id][$parentKey] == $flatArr[$parent_id][$key] )
                {
    
                    true == $onlyRoot && $resultArr[] = $parent_id_dump;
    
                    break;
    
                }
    
            }
    
        }
    
        return $resultArr;
    
    }
    В engine/classes/templates.class.php найти:

    Код:
    if (strpos ( $this->template, "{category-" ) !== false) {
    выше вставить:

    Код:
    if (strpos ( $this->template, "{root-cat-" ) !== false) {
    
        $rootCats = findCategoryParentTree(intval($category_id), $cat_info, true );
        $this->template = str_ireplace( "{root-cat-id}", ( ! empty ( $rootCats ) ? current($rootCats) : 0 ), $this->template );
    
    }       
    
    далее найти:

    Код:
    if (strpos ( $template, "{category-" ) !== false) {
    выше вставить:

    Код:
    if (strpos ( $template, "{root-cat-" ) !== false) {
    
        $rootCats = findCategoryParentTree(intval($category_id), $cat_info, true );
        $template = str_ireplace( "{root-cat-id}", ( ! empty ( $rootCats ) ? current($rootCats) : 0 ), $template );
    
    }

    в main.tpl шаблона вставить это:

    Код:
    [available=showfull]{catmenu id="{root-cat-id}" subcat="only"}[/available]
     
  13. TopicStarter Overlay
    master-rasskazov

    master-rasskazov Бывалый

    Регистрация:
    24 авг 2019
    Сообщения:
    156
    Лучших ответов:
    0
    Рейтинги:
    +21 / 12 / -0
    Спасибо большое!
    Я уже разобрался,как раз этот код мне и подсказали на форуме DLE.Я попросил там помощи и человек отписался,помог,дал этот код.
    Я хотел ег осюда выложить,мало ли кому-нужен будет,но вы меня опередили.Всё равно спасибо за помощь.
     
  14. dj-avtosh

    dj-avtosh Зелёный

    Регистрация:
    7 окт 2019
    Сообщения:
    14
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
  15. ProfitGet

    PRO Users

    Регистрация:
    3 авг 2018
    Сообщения:
    1.511
    Лучших ответов:
    1
    Рейтинги:
    +233 / 104 / -0
    Нормально ты так замутил аж 20 000 категорий...

    :D

    Юзер будет доооолго искать, что посмотреть (если вообще найдёт что нибудь)

    :confused:
     
Яндекс.Метрика