Настройка хлебных крошек на сайте публикации sharepoint с вариациями - PullRequest
4 голосов
/ 16 июня 2009

У меня есть сайт публикации Sharepoint с вариациями. Крошка по умолчанию показывает это:

Вариация Root> Русский сайт> Некоторые страницы То, что я хочу отобразить это: «Домашняя страница»> Some Page, где Домашняя страница указывает на корневой каталог английского сайта.

Есть ли способ достичь этого без создания собственного серверного элемента управления для этого?

Ответы [ 2 ]

2 голосов
/ 16 июня 2009

Если вы знаете точное количество уровней, вы можете использовать SiteMapPath, например:

<asp:SiteMapPath runat="server" ParentLevelsDisplayed="1" />

В противном случае SiteMapPath всегда идет напрямую против используемого в настоящее время SiteMapProvider, и вы, вероятно, можете подключиться к визуализации SiteMapPath и выполнить проверку, например:

protected void SiteMapPath_ItemCreated(object sender, SiteMapNodeItemEventArgs e)
{
    if (e.Item.ItemType == SiteMapNodeItemType.Root ||         
       (e.Item.ItemType == SiteMapNodeItemType.PathSeparator && 
        e.Item.ItemIndex == 1))
    {
        e.Item.Visible = false;
    }
}

, что заставит вас SiteMapPath не показывать корневой узел (и первый разделитель).

и, если вы хотите, чтобы ваш узел отображал «Home», вы можете связать его с другим значением, например:

<asp:SiteMapPath ID="siteMapPath" runat="server"
    Pathseparator="/"
    OnItemCreated="SiteMapPath_ItemCreated">

<NodeTemplate>
    <a href='<%# Eval("url") %>'><%# Eval("description") %></a>
</NodeTemplate>

<CurrentNodeTemplate>
    <%# Eval("title") %>
</CurrentNodeTemplate>    

</asp:SiteMapPath>

если описание имеет значение "Home", которое будет отображаться.

0 голосов
/ 17 июня 2009

Совсем недавно я создал несколько новых элементов управления меню, которые решают эту проблему. Мои элементы управления принимают пользовательский ~ вариант / токен в качестве StartingNode, чтобы вы могли создать «хлебную крошку», которая начинается с исходного варианта, а не с корня вашего семейства сайтов. Вы можете найти больше информации @ http://blog.mastykarz.nl/templates-based-menu-control-sharepoint/

...