Актуальный релиз „DataLife Engine 20.0 Final“ buildid 109

подробнее о релизе

Главная страница / DataLife Engine / Плагины для DLE / Сортировка категорий в catmenu по ID в нужном порядке

Сортировка категорий в catmenu по ID в нужном порядке

06 июля 2026 | 05:31 | Понедельник
10
0
[ Рейтинг: 0 / Голосов: 0 ]
Сортировка категорий в catmenu по ID в нужном порядке

Понадобилось сегодня на одном сайте сделать порядок категорий в меню через catmenu в нужном порядке, как они указаны в ID в catmenu, а не в БД сайта. В ДЛЕ встроенного функционала нет. В паблике такого тоже не нашёл, а то что есть — там просто заголовок «Пользовательская сортировка элементов catmenu id» и «Критерий сортировки order="id_as_list» для catmenu». Но нигде ничего не было предложено для решения этого вопроса.

Ни без помощи ИИ, но получился небольшой плагин, который делался для версии DLE 16.1, но поставил его на версию DLE 20.0 — никаких ошибок нет, значит должен так же хорошо работать.

Использование:

{catmenu id="20,2,50,40" subcat="no" template="catmenu" cache="yes" sortcat="user"}
  • Добавлен параметр sortcat
  • Если sortcat="user" прописан — категории сортируются в том порядке, в котором они перечислены в id=
  • Сортировка происходит после получения списка категорий, перед выводом

⚠️ Войдите в аккаунт для доступа к контенту


Быстрый ответ Алисы AI (в работе не проверял, но мало верится, что он работает. Иначе это в документации ДЛЕ написали)

Чтобы вывести категории меню в DLE в нужном вам порядке, не полагаясь на их естественный порядок в базе данных, действительно есть рабочий способ. Я подскажу, как это сделать.

Суть в том, чтобы явно перечислить ID категорий в той последовательности, в которой вы хотите их видеть, и передать этот список в тег {catmenu}.

Пример кода:

{catmenu id="145,146,62,15,30,66,71,55,39,19,117,132,133,134,135,73,144,147,148,149,150,151,152,153,154,155,60" subcat="no"}

Здесь запятыми с пробелами перечислены ID: сначала категория с ID 145, затем 146, потом 62 и так далее. Так и будет выведено меню в этом порядке. Параметр subcat="no" отключает вывод подменю (если они есть у категорий).

PS сайта, с которого был взят данный код - я так и не нашёл, а та ссылка, которая предложена - там нет ничего абсолютно!

Комментарии:
ℹ️
 

Модули для создания киносайта и не только на базе DataLife Engine, и многое другое...
Просто блог Евгения Попова, он же - byroot © 2015-2026 | Карта сайта