Bootstrapテーマを使用してShapeトレーサーモジュールを介して代替形状を作成しました。このタイプ用に作成したフィールドがいくつかあります。私が作成したカスタムタイプは「BooksForSale」と呼ばれています。次のコードを使用して作成者を表示できます。
<p>@Model.ContentItem.BooksForSale.Author.Value</p>
それはいいです。
ただし、このタイプ(この部分が追加されました)の本文を表示し、最初の150文字のみを表示したかったのです。私は以下を使用しました:
@{
Orchard.ContentManagement.ContentItem contentItem = Model.ContentPart.ContentItem;
string bodyHtml = Model.Html.ToString();
var body = new HtmlString(Html.Excerpt(bodyHtml, 500).ToString().Replace(Environment.NewLine, "</p>" + Environment.NewLine + "<p>"));
}
<div class="post-description">
<p>@body</p>
</div>
@Html.ItemDisplayLink(T("Read More...").ToString(), contentItem)
作成者が正常に表示しているときに、[続きを読む]行が原因で、これがクラッシュします。
これを「Parts.Common.Summary.cshtml」から取得しました。そこで機能します。
私が欲しいのは、本文の最初の150文字を表示し、「続きを読む...」というリンクを表示して、実際のコンテンツアイテムにリンクすることです。
誰かがここで助けることができるかどうかはわかりませんが、私が尋ねるかもしれないと思いました...
シモン