2010-11-16 19 views
3

J'ai essayé
<sc:text field="Display Name" />
et
<xsl:value-of select="sc:fld('Display Name',.)"/>
et
<xsl:value-of select="sc:field('Display Name',.)"/>
avec divers cas différents et l'espacement.Sitecore: Comment puis-je récupérer le 'nom d'affichage' dans XSLT

Tout ce que je peux trouver en ligne sont des exemples de comment le récupérer dans le code .NET Sitecore.Context.Item.DisplayName

Suis-je manque quelque chose évidente? Cela me dérange depuis un moment.

Répondre

6

La plupart des champs standard d'un élément Sitecore sont précédés de doubles traits de soulignement. Je crois que vous trouverez votre valeur sur "__display name".

+0

Spot sur. Merci. – tonyamazing

3

Vous pouvez utiliser la méthode displayname du XSLHelper (espace de noms: Sitecore.Xml.Xsl)
ce serait utilisé dans xslt comme celui-ci

<xsl:value-of select="sc:displayname($sc_currentitem)" /> 

Note: vous ne devez pas vérifier si il y a un nom d'affichage pour obtenir
le nom puisque la méthode le fait déjà pour vous.

public string DisplayName 
{ 
     get 
    { 
     if (!UserOptions.View.UseDisplayName) 
     { 
      return this.Name; 
     } 
     string text = base[FieldIDs.DisplayName]; 
     if (text.Length > 0) 
     { 
      return text; 
     } 
     return this.Name; 
    } 
}