4

タブ付きのマスター ページがあります。タブは、次のサイトマップ ファイルによって定義されます。

<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です。リンクの先頭にチルダを付けるとこの問題は解決すると読みましたが、そうではありません。

4

3 に答える 3

13

私はこの質問に対する答えを探すのに何時間も費やしました。ProjectProperty タグは、WSS サイトと MOSS サイトで使用できます。ProjectProperty で使用できるパラメーターの 1 つは、サブサイトの URL を提供します。

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

これにより、サブサイト URL の値を含む文字列リテラルが出力されます。たとえば、これを行うことができます (実際の HTML タグの src='' または href='' 属性には単一引用符を使用する必要があることに注意してください):

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

それが役に立てば幸い!ProjectProperty の他の可能な値のリストについては、この男のページをチェックしてください(ここで私の元の回答を見つけました!)

于 2010-07-07T20:17:40.967 に答える
9

これを行うための答えを長い間探していました...自分のサイトをサイト テンプレートとしてパッケージ化したいのですが、絶対 URL を使用することはできませんでした...サイト URL が何であれ、相対 URL にする必要があります...それが MOSS のルートにあるのか、それとも構造の奥深くにあるサブサイトにあるのか...

以下が機能することがわかりました。

スクリプト タグ:

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

スタイル シート (上記で user385947 が提案した方法):

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

これが他の人に役立つことを願っています...

于 2010-10-09T21:56:46.727 に答える
2

〜siteトークンを探しています。これが、WSSにカスタムされたURLトークンのリストです。

于 2009-10-28T05:26:25.267 に答える