Относительные URL на главной странице Sharepoint
-
06-07-2019 - |
Вопрос
У меня есть главная страница с вкладками. Вкладки определяются следующим файлом Sitemap:
<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 . Я читал, что наличие тильды в начале ссылки решит эту проблему, но это не так.
Решение
Вы ищете маркер ~ сайта, вот список URL-токены, настраиваемые для WSS. р>
Другие советы
Я потратил ЧАСЫ на поиски ответа на этот вопрос, и оказалось, что он есть, это просто раздражает. Вы можете использовать тег 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 можно найти в страница этого парня (именно здесь я нашел свой первоначальный ответ!)
Я долго искал ответ, чтобы сделать это ... Я хочу упаковать свой сайт как шаблон сайта, и иметь абсолютные 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 %>" />
Надеюсь, это поможет другим ...