マスター ページのサイト ロゴ リンクが常にルート サイト コレクションのホーム ページにリダイレクトされるようにします。デフォルトの動作は、現在の Web (spweb) のホームページにリダイレクトすることです。
SharePoint 2010 では、マスター ページの SPLinkButton コントロールに NavigateUrl 属性を追加し、次のように ~sitecollection の値を指定することでこれを実現できました。
<SharePoint:SPLinkButton runat="server" NavigateUrl="~sitecollection/" id="onetidProjectPropertyTitleGraphic">
<SharePoint:SiteLogoImage name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="/_layouts/images/siteIcon.png" runat="server"/>
</SharePoint:SPLinkButton>
ただし、SharePoint 2013 では、マスター ページのサイト ロゴ リンクのコントロールが SPSimpleSiteLink に変更されました。このコントロールの NavigateUrl プロパティを同じ方法で設定しようとしましたが、もう機能していないようです。
<div id="siteIcon" class="ms-tableCell ms-verticalAlignTop">
<SharePoint:AjaxDelta id="DeltaSiteLogo" BlockElement="true" runat="server">
<SharePoint:SPSimpleSiteLink NavigateUrl="~sitecollection/" CssClass="ms-siteicon-a" runat="server" id="onetidProjectPropertyTitleGraphic" >
<SharePoint:SiteLogoImage CssClass="ms-siteicon-img" name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="/_layouts/15/images/siteIcon.png?rev=23" runat="server"/>
</SharePoint:SPSimpleSiteLink>
</SharePoint:AjaxDelta>
</div>
回避策として、AjaxDelta ラッパー コントロールを削除し、SPSimpleSiteLink を、NavigateUrl 属性を追加した古い SPLinkButton に変更しました。これはうまくいくようです。
より良い方法はありますか?