Вземете съдържанието на първия P таг свойство RichTextEditor

Имам свойство, което е Rich Text Editor в Umbraco 7.

Искам да получа част от съдържанието на това свойство, по-точно първия p таг.

Как мога да постигна това в Umbraco? Дали това е помощен клас, който мога да използвам?


person Mivaweb    schedule 29.01.2015    source източник


Отговори (1)


Няма помощен метод, който можете да използвате веднага, но не би трябвало да е твърде трудно да напишете свой собствен.

Ако използвате MVC, можете да напишете разширение към MVC HtmlHelper, както следва:

public static string GetFirstParagraph(this HtmlHelper helper, IHtmlString input)
{
    if (input != null && input.ToString() != string.Empty)
    {
        var htmlDoc = new HtmlDocument();
        htmlDoc.LoadHtml(input.ToString());
        var p = htmlDoc.DocumentNode.SelectSingleNode("//p");
        if (p != null)
        {
            return p.InnerText;
        }
    }

    return null;
}

За да извикате този метод във вашия изглед, просто въведете:

@Html.GetFirstParagraph(Umbraco.Field("yourPropertyAlias"))

ако използвате метода Umbraco Field, или:

@Html.GetFirstParagraph(Model.YourProperty)

ако вашият изглед е силно въведен.

Ако всъщност използвате уеб формуляри, можете да създадете макрос за бръснач и да използвате кода по-горе, за да изпълните същата задача.

person Rob Purcell    schedule 01.02.2015