Генерация динамического меню с использованием веб-сервисов - PullRequest
1 голос
/ 29 апреля 2011

У меня есть веб-сайт, который генерирует меню навигации на основе уровней доступа пользователя.Код использует webservices & xslt для получения данных и их преобразования в браузере.

Теперь я хочу экспортировать этот сайт в свободно доступную CMS. Может кто-нибудь предложить CMS, в которую встроена эта функция.Мне очень понравился Орчард, но я не могу заставить его работать.

Спасибо всем за потраченное время и за предложения.

1 Ответ

2 голосов
/ 04 мая 2011

Полагаю, вы не найдете ни одной CMS, в которой было бы что-то вроде этого встроенного, и не потребовалось бы какое-то кодирование для ее работы.

Было бы довольно легко добавить такую ​​функциональность в Orchard, хотя . Единственное, что вам нужно сделать, это:

  1. Создание модуля Orchard (который может быть автоматически сгенерирован из командной строки )
  2. Создайте класс в вашем модульном проекте, который реализует интерфейс INavigationProvider . Существует только один метод для переопределения, который возвращает коллекцию элементов меню (правильно иерархизированную через свойства Parent <-> Items ). Вся пользовательская логика поиска предметов должна происходить прямо здесь. Существует также свойство MenuName для переопределения - оно должно возвращать имя сгенерированного меню (может быть практически любым).

И в основном это все - скомпилируйте решение и включите функцию вашего модуля через Панель инструментов -> Модули -> Функции .

Для отображения меню вы можете использовать модуль Advanced Menu . После установки и включения этой функции вы можете перетащить MenuWidget (или StyledMenuWidget, если вы хотите простое предварительно стилизованное меню) в любую нужную зону (вы можете сделать это из Панель инструментов -> Виджеты ). При этом вам будет предложено название меню для визуализации. Укажите имя, которое возвращает свойство MenuName вашего INavigationProvider.

НТН

...