SharePoint Rediriger logo du site lien vers le site racine de la collection de la page d'accueil
Je veux que le logo du site lien dans la page maître pour toujours rediriger vers le site racine de la collection de la page d'accueil. Le comportement par défaut est de rediriger vers la page d'accueil du site web actuel (spweb).
De retour dans SharePoint 2010, j'ai pu accomplir cela en ajoutant les NavigateUrl attribut à la SPLinkButton de contrôle dans la page principale, avec une valeur de ~sitecollection comme ceci:
<SharePoint:SPLinkButton runat="server" NavigateUrl="~sitecollection/" id="onetidProjectPropertyTitleGraphic">
<SharePoint:SiteLogoImage name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="/_layouts/images/siteIcon.png" runat="server"/>
</SharePoint:SPLinkButton>
Cependant dans SharePoint 2013, le contrôle pour le logo du site le lien a changé dans la page maître à SPSimpleSiteLink. J'ai essayé le réglage de la propriété NavigateUrl pour ce contrôle de la même manière, mais il ne semble pas fonctionner.
<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>
Comme une solution de contournement, j'ai maintenant supprimé le AjaxDelta wrapper de contrôle et changé le SPSimpleSiteLink à l'ancienne SPLinkButton avec l'ajout de NavigateUrl attribut. Cela semble fonctionner.
Sont là les meilleures façons?
Vous devez vous connecter pour publier un commentaire.
Concernant MSDN SharePoint:SPSimpleSiteLink est un "contrôle très simple, qui fournit un lien vers le site actuel de Ce contrôle est conforme par un chrome de contrôle dans un SDM-activé master page"
si vous voulez le logo du site lien de redirection vers le site de la collection de sites racine, utilisez SharePoint:SiteLogoImage (comme nous l'a été utilisé avec SP 2010)
Comme Muawiyah Shannak mentionné il vous suffit de remplacer le SharePoint:SPSimpleSiteLink avec le SharePoint:SPLinkButton de contrôle.
Si vous utilisez le Conception SharePoint-Gestionnaire de Extrait de l'Outil, vous devez modifier les deux lignes suivantes (début et la balise de fin)
à ce
Il est alays préférable d'utiliser un contrôle dynamique puis de le définir comme un lien permanent, de sorte que vous pouvez réutiliser votre modèle sur d'autres sitecollections sans changer la racine statique lien.
Si vous avez besoin permanent link, pourquoi vous utilisez SharePoint/ASP.NET contrôles suffit de le régler ce lien dans la page maître :))) Pense que c'est plus simple façon, de fonctionner dans n'importe quelle version de SharePoint.
La même appens pour moi,
NavigateUrl
ne fonctionnent pas. Donc, même si vous essayez de changerhref
propriété avec JQuery, plus tard, certains de script remplacer le href actuelles url du site.Le seul moyen est de changer l'id de 'a' élément pour éviter d'écraser. ID de l'évolution de provoquer de Sharepoint erreur javascript donc, vous devez créer un mannequin élément masqué avec la même vieille id du logo
a
élément. Tout ce travail à l'aide de 'seattle' de la page maître.Donc dans $(document).prêt faire quelque chose comme:
utiliser ../dans le NavigateUrl. Cela permet d'obtenir sur le site parent.
Si vous avez besoin d'un lien dynamique, vous pouvez utiliser un UserControl dans votre masterpage. Par exemple si vous voulez toujours pointer vers l'adresse de racine, mais la racine de l'adresse est différente à travers plusieurs environnements, vous pourriez faire de ce genre dans le contrôle de l'utilisateur:
Et dans votre code-behind:
Pour la collection de sites de redirection option, Ajoutez l'attribut
NavigateUrl
de cette balise et définir la valeur "~sitecollection"Pour site site actuel option de redirection, Ajoutez l'attribut
NavigateUrl
de cette balise et réglez la valeur à"~site"
Cliquez Ici Pour Voir Plus De Détails
c'est le plus simple de la sln que j'ai pu trouver pour un logo simple que les liens vers la page d'accueil
P. S.
oui, essaie de faire
<%$SPUrl:~sitecollection...
à l'extérieur de la<asp:Literal
a déclenché une exception.