Полагаю, вы не найдете ни одной CMS, в которой было бы что-то вроде этого встроенного, и не потребовалось бы какое-то кодирование для ее работы.
Было бы довольно легко добавить такую функциональность в Orchard, хотя . Единственное, что вам нужно сделать, это:
- Создание модуля Orchard (который может быть автоматически сгенерирован из командной строки )
- Создайте класс в вашем модульном проекте, который реализует интерфейс INavigationProvider . Существует только один метод для переопределения, который возвращает коллекцию элементов меню (правильно иерархизированную через свойства Parent <-> Items ). Вся пользовательская логика поиска предметов должна происходить прямо здесь. Существует также свойство MenuName для переопределения - оно должно возвращать имя сгенерированного меню (может быть практически любым).
И в основном это все - скомпилируйте решение и включите функцию вашего модуля через Панель инструментов -> Модули -> Функции .
Для отображения меню вы можете использовать модуль Advanced Menu . После установки и включения этой функции вы можете перетащить MenuWidget (или StyledMenuWidget, если вы хотите простое предварительно стилизованное меню) в любую нужную зону (вы можете сделать это из Панель инструментов -> Виджеты ). При этом вам будет предложено название меню для визуализации. Укажите имя, которое возвращает свойство MenuName вашего INavigationProvider.
НТН