Sitecore: как получить «отображаемое имя» в XSLT - PullRequest
3 голосов
/ 16 ноября 2010

я пробовал
<sc:text field="Display Name" />
и
<xsl:value-of select="sc:fld('Display Name',.)"/>
и
<xsl:value-of select="sc:field('Display Name',.)"/>
с различными различными случаями и интервалами.

Все, что я могу найти в Интернете, это примеры того, как извлечь его из кода .NET Sitecore.Context.Item.DisplayName

Я что-то упускаю из виду? Это беспокоило меня некоторое время.

Ответы [ 2 ]

6 голосов
/ 16 ноября 2010

Большинство стандартных полей в элементе Sitecore имеют префикс двойного подчеркивания. Я полагаю, что вы найдете свою ценность в "__display name".

3 голосов
/ 27 сентября 2012

Вы можете использовать метод displayname из XSLHelper (пространство имен: Sitecore.Xml.Xsl)это будет использоваться в XSLT, как это

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

примечание: вам не нужно проверять, есть ли отображаемое имя, чтобы получитьимя, так как метод уже делает это для вас.

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;
    }
}
...