четверг, 2 декабря 2010 г.

Возвращение хлебных крошек

В стандартном оформлении SharePoint 2010 хлебные крошки (breabcrumb) были спрятаны за кнопкой image:

image

Тогда как в строке навигации теперь отображается только навигация по текущему сайту:

image

Если Вы считаете, что пользователям часто необходимы хлебные крошки (звучит круто!), и каждый раз нажимать на открывающую их кнопку не удобно, в главной странице (master page) следует заменить блок текста

<h1 name="onetidProjectPropertyTitle">
    <asp:ContentPlaceHolder id="PlaceHolderSiteName" runat="server">
        <SharePoint:SPLinkButton runat="server" NavigateUrl="~site/" id="onetidProjectPropertyTitle"><SharePoint:ProjectProperty Property="Title" runat="server" /></SharePoint:SPLinkButton>
    </asp:ContentPlaceHolder>
</h1>
<span id="onetidPageTitleSeparator" class="s4-nothome s4-bcsep s4-titlesep">
<SharePoint:ClusteredDirectionalSeparatorArrow runat="server"/> </span>
<h2>
    <asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server" />
</h2>

на следующий блок:

    <h1 name="onetidProjectPropertyTitle">
          <asp:SiteMapPath SiteMapProvider="SPContentMapProvider" id="ContentMap" SkipLinkText="" NodeStyle-CssClass="ms-sitemapdirectional" runat="server"/>
  </h1>
  <asp:ContentPlaceHolder id="PlaceHolderSiteName" runat="server" Visible="false"/>
  <asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server" Visible="false"/>

После сохранения страницы вы увидите следующее:

image

Обратите внимание, что при этом перестает отображаться элемент выбора представления. Если Вы знаете способ как его добавить, пишите в комментарий.

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

5 комментариев:

  1. Добрый день!
    Если воспользоваться данным способом, то неожиданно перестают сохраняться wiki-страницы. При сохранении вылетает окно с ошибкой: "Необходимо внести значение для этого поля". Какого поля? обычный rtf. Я не очень хорошо разбираюсь в плейсхолдерах, что именно меняет данный код? может есть решение чтобы и крошки отображались и страницы сохранялись?

    ОтветитьУдалить
  2. Действительно, на вики-странице заполнитель PlaceHolderPageTitleInTitleArea содержит системные контролы, необходимые для редактирования. Поэтому, менять нужно на такой код:

    ОтветитьУдалить
    Ответы
    1. Подскажите, а на какой код нужно заменить, чтобы wiki сохранялись?

      Удалить
    2. Вениамин, спасибо за вопрос. Есть ли у вас доступ к этому тексту?
      https://github.com/shurick81/SharePoint-2010-breadcrumb/blob/master/master.fragment.txt

      Удалить
  3. Добрый день, shurick!
    Да, есть. Большое спасибо.

    ОтветитьУдалить