SharePoint重定向站点徽标链接到根网站集主页

gur*_*kan 19 sharepoint sharepoint-2013

我希望母版页中的站点徽标链接始终重定向到根网站集主页.默认行为是重定向到当前Web(spweb)的主页.

回到SharePoint 2010,我可以通过将NavigateUrl属性添加到母版页中的SPLinkBut​​ton控件来实现此目的,其值为~sitecollection,如下所示:

<SharePoint:SPLinkButton runat="server" NavigateUrl="~sitecollection/" id="onetidProjectPropertyTitleGraphic">
<SharePoint:SiteLogoImage name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="/_layouts/images/siteIcon.png" runat="server"/>
</SharePoint:SPLinkButton>
Run Code Online (Sandbox Code Playgroud)

但是,在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>
Run Code Online (Sandbox Code Playgroud)

作为一种解决方法,我现在已经删除了AjaxDelta包装器控件,并使用添加的NavigateUrl属性将SPSimpleSiteLink更改为旧的SPLinkBut​​ton.这似乎有效.

有没有更好的方法?

小智 20

关于MSDN SharePoint:SPSimpleSiteLink是一个"非常简单的控件,它提供了指向当前站点的链接.此控件在启用MDS的母版页中兼容为chrome控件"

如果您希望站点徽标链接始终重定向到网站集根网站,请使用SharePoint:SiteLogoImage(因为我们与SP 2010一起使用)

<SharePoint:AjaxDelta id="DeltaSiteLogo" BlockElement="true" runat="server">
<SharePoint:SPLinkButton runat="server" NavigateUrl="~sitecollection/" id="onetidProjectPropertyTitleGraphic">
                    <SharePoint:SiteLogoImage  name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="images/logo.png" runat="server">
                                </SharePoint:SiteLogoImage>
              </SharePoint:SPLinkButton>
Run Code Online (Sandbox Code Playgroud)


Dav*_*now 6

由于穆阿维叶Shannak提到你只需要更换的SharePoint:SPSimpleSiteLink的SharePoint:SPLinkBut​​ton控制.

如果您使用的是SharePoint Design-Manager代码段工具,则必须编辑以下两行(开始和结束标记)

<!--MS:<SharePoint:SPSimpleSiteLink runat="server" CssClass="ms-siteicon-a" ID="x7917ecc8c38d4bd69f58e338eab54c8c">-->
[...]
<!--ME:</SharePoint:SPSimpleSiteLink>-->
Run Code Online (Sandbox Code Playgroud)

对此

<!--MS:<SharePoint:SPLinkButton runat="server" NavigateUrl="~sitecollection/" CssClass="ms-siteicon-a" ID="x7917ecc8c38d4bd69f58e338eab54c8c">-->
[...]
<!--ME:</SharePoint:SPLinkButton>-->
Run Code Online (Sandbox Code Playgroud)

使用动态控件然后将其设置为永久链接更好,因此您可以在其他网站集上重用您的模板,而无需更改静态根链接.