Сайт публикации SharePoint 2007 с глубокой структурой меню
-
03-07-2019 - |
Вопрос
Я новичок в SharePoint, и мне нужно создать сайт публикации с многоуровневым меню.Требование состоит в том, чтобы уровни не были фиксированными и чтобы клиент мог добавлять страницы и настраивать меню.
Если я не ошибаюсь, страницы можно создавать только на первом уровне сайта.Я не вижу чего-то вроде концепции папок.Для целей навигации я могу добавить заголовок, и он будет отображаться на другом уровне.Если мне нужно больше уровней, мне нужно создать подсайты.
Site Page1 Page2 Heading Page3
Это верно?
Site Page1 Page2 Sublevel_1 Page1_1 Sublevel_2 Page2_1 Sublevel_3 Page3_1 ...
Могу ли я сделать что-то подобное, не создавая подсайты SharePoint?Если мне это не нужно, я пропущу написание какого-либо пользовательского элемента управления меню или напишу собственный SiteMapProvider.Мне также нужно будет написать пользовательский интерфейс для управления навигацией.
РЕДАКТИРОВАТЬ:
Мне удалось создать папку в списке страниц, создать (фактически переместить) страницы в эту папку и даже создать подпапку, но они не отображаются ни в меню, ни даже на странице настроек навигации.Я не могу утвердить папку, она находится в состоянии ожидания, что бы я ни пытался.
мне кажется это невозможно Эндрю Коннелл:Подпапки нет Поддерживается в библиотеке страниц на сайтах публикаций MOSS.
Решение
По умолчанию вы можете изменить навигацию для сайта публикации вручную.
Я предполагаю, что вам нужен более автоматизированный способ сделать это.К сожалению, изменить навигацию для PublishingWeb можно с помощью объектной модели и объекта PublishingWeb.CurrentNavigationNodes, для чего потребуется задание таймера или какой-либо другой метод для обновления при редактировании/добавлении/удалении страниц.
Это нетривиально, и вам все равно потребуется создать пакет решения/функции.Другой способ — создать собственный поставщик навигации.Проблема с обоими этими вариантами (кроме фактического написания кода и выпуска) заключается в кэшировании структуры навигации.Мы использовали стандартный веб-кеш для объекта, содержащего структуру навигации, но используя стандартный просмотр пользователя (т.сам код меню) для запуска обновления навигации чревато проблемами многопоточности.
Другие советы
Вы можете создать на сайте несколько библиотек документов, а затем поместить страницы в различные библиотеки.Таким образом, вам не нужно будет создавать подсайты.