Сайт группы 2010 с включенной публикацией:проблемы с навигацией

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/41064

Вопрос

Мы используем SharePoint 2010 Standard и имеем сценарий, в котором есть сайт группы с включенными функциями публикации.У нас есть пользовательская мастер-страница (слегка измененная версия v4.master — с дополнительными элементами управления) и собственный CSS.

Проблема заключается в том, что на любом сайте, кроме верхнего уровня семейства веб-сайтов, элемент управления «Верхняя навигация» игнорирует параметры навигации на страницах контента.

Пользовательская главная страница задается как главная страница системы, а также главная страница сайта (требуется для сайта группы), и все изменения навигации прекрасно отображаются на любых страницах в папке _layouts.Однако любые страницы, созданные пользователями (по умолчанию установлен тип «Вики-страница», который, насколько мне известно, использует шаблон ~14/TEMPLATE/DocumentTemplates/wkpstd.aspx), не отображают правильную навигацию.

Отображаемая навигация выглядит следующим образом:

  • Коллекция сайтов верхнего уровня (правильно):HomeLink [ссылка, созданная вручную], Link1, Link2, Link3, Link4
  • Дочерний сайт:HomeLink (неверно, поскольку в настройках установлено «наследовать от родителя»)

Все настройки навигации верны и были дважды проверены и протестированы в других средах.

Кто-нибудь знает, почему это может не работать?Мы проверили наличие конфликтов или переопределения PlaceHolder во всех шаблонах, которые, по нашему мнению, могли использоваться, но не смогли найти ничего, ссылающегося на используемые нами стандартные PlaceHolder (PlaceHolderTopNavBar и PlaceHolderHorizontalNav).

Элементы управления, используемые для отображения меню, имеют значения по умолчанию:

<SharePoint:AspMenu ID="TopNavigationMenuV4"
Runat="server" EnableViewState="false"
DataSourceID="topSiteMap"
AccessKey="<%$Resources:wss,navigation_accesskey%>"
UseSimpleRendering="true" UseSeparateCss="false"
Orientation="Horizontal" StaticDisplayLevels="5"
MaximumDynamicDisplayLevels="0" SkipLinkText=""
CssClass="s4-tn" />

<asp:SiteMapDataSource ShowStartingNode="False"
SiteMapProvider="GlobalNavSiteMapProvider"
id="topSiteMap" runat="server" />

заранее спасибо

Это было полезно?

Решение 2

Хорошо, мы наконец выяснили, в чем причина проблемы.

В результате включения функции публикации на сайте группы параметры навигации изменяются.

На нашей главной странице (на основе Team Site v4.master) верхний элемент меню был настроен на использование источника данных, возвращающего объект SiteMapDataSource.Однако после включения функции публикации нам нужно было использовать GlobalNavigation, что на самом деле является PortalSiteMapProvider, для чего необходимо создать PortalSiteMapProvider объект как ваш DataSource для AspMenu контроль (если вы это используете).

Поэтому мы заменили приведенный выше код asp:SiteMapDataSource на:

PublishingNavigation:PortalSiteMapDataSource
    StartFromCurrentNode="true"
    ShowStartingNode="false"
    SiteMapProvider="GlobalNavigation"
    id="topSiteMap"
    runat="server"

Теперь мы можем использовать навигацию по назначению.

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

Это, вероятно, известная проблема, которая является моей интуитивно понятной предположением, когда я имел точно столкнулся с той же ситуацией, прежде чем создавая последовательную навигацию, которая распространена на всей ферме, в то время как все коллекции сайта были сайтами команды с использованием функций издательства.Вернувшись тогда то, что сделало ее работу, была переопределением уровня фермы, который не был очень хорошим подходом, но мы пошли с ним.

Мы сделали точные изменения в контроль пользователя Topnavbar, проживаем в

"C: \ Файлы программы \ Общие файлы \ Microsoft Shared \ Web Server Extensions \ 14 \ Template \ ControlTemplates \ Topnavbar.ascx"

Сопоставить его с исходным кодом Topnavbar MasterPage.

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