Вопрос

Я новичок в 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, для чего потребуется задание таймера или какой-либо другой метод для обновления при редактировании/добавлении/удалении страниц.

Это нетривиально, и вам все равно потребуется создать пакет решения/функции.Другой способ — создать собственный поставщик навигации.Проблема с обоими этими вариантами (кроме фактического написания кода и выпуска) заключается в кэшировании структуры навигации.Мы использовали стандартный веб-кеш для объекта, содержащего структуру навигации, но используя стандартный просмотр пользователя (т.сам код меню) для запуска обновления навигации чревато проблемами многопоточности.

Другие советы

Вы можете создать на сайте несколько библиотек документов, а затем поместить страницы в различные библиотеки.Таким образом, вам не нужно будет создавать подсайты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top