Относительные URL на главной странице Sharepoint - PullRequest
4 голосов
/ 28 октября 2009

У меня есть главная страница с вкладками. Вкладки определяются следующим файлом карты сайта:

<siteMap>
    <siteMapNode title="Home" url="~/" >
        <siteMapNode title="Schedule" url="~/Pages/Tab2.aspx"/>      
        <siteMapNode title="Deliverables" url="~/Pages/Tab3.aspx"/>
        <siteMapNode title="My Items" url="~/Pages/Tab4.aspx"/>
        <siteMapNode title="Management" url="~/Pages/Tab5.aspx"/>
        <siteMapNode title="Working Docs" url="~/Pages/Tab6.aspx"/>
    </siteMapNode>
</siteMap>

Проблема в том, что на моих дочерних сайтах нажатие на вкладку постоянно возвращает меня в корень. Например, я хочу, чтобы ссылка на расписание перешла на http://Server/Subsite/Pages/Tab2.aspx. Вместо этого я получаю http://Server/Pages/Tab2.aspx.. Я прочитал, что наличие тильды в начале ссылки решит эту проблему, но это не так. т.

Ответы [ 3 ]

12 голосов
/ 08 июля 2010

Я потратил ЧАСЫ на поиски ответа на этот вопрос, и оказалось, что он ЕСТЬ, это просто раздражает. Вы можете использовать тег ProjectProperty на сайтах WSS И MOSS, и один из возможных параметров для ProjectProperty предоставляет URL-адрес дочернего сайта.

<SharePoint:ProjectProperty Property="Url" runat="server"/>

Выводит строковый литерал со значением URL-адреса дочернего сайта. Так, например, вы можете сделать это (обратите внимание, что вам нужно использовать одинарные кавычки для атрибута src = '' или href = '' фактического HTML-тега):

<a href='<SharePoint:ProjectProperty Property="Url" runat="server"/>/pages/Tab2.aspx'>

Надеюсь, это поможет! Для списка других возможных значений для ProjectProperty, проверьте страница этого парня (где я нашел свой оригинальный ответ!)

9 голосов
/ 10 октября 2010

Я долго искал ответ, чтобы сделать это ... Я хочу упаковать свой сайт как шаблон сайта, и иметь абсолютные URL-адреса было невозможно ... Мне нужно, чтобы они были такими же, как и все URL-адрес сайта ... находится ли он в корне MOSS или на узле, расположенном глубоко в структуре ...

Я нашел следующее для работы:

Теги скрипта:

<script type="text/javascript" src='<asp:Literal runat="server" 
               Text="<% $SPUrl:~Site/appBin/js/jquery.min.js %>" />'></script>

Таблица стилей (метод, предложенный пользователем 385947 выше):

<link rel="stylesheet" type="text/css" 
       href="<% $SPUrl:~Site/appBin/css/jquery-ui.css %>" />

Надеюсь, это поможет другим ...

2 голосов
/ 28 октября 2009
...