ブログの概要ページ - あなたのブログの投稿を掲載しているページ - 私は、各ブログ投稿から少しのテキストを見せることができます。オーチャードブログの概要テキスト
これは可能ですか? 私は設定のどこにでもそれを見ることができませんし、何らかの理由で形状トレースは私にテンプレートが何であるかを見せてくれるものではありません。
ブログの概要ページ - あなたのブログの投稿を掲載しているページ - 私は、各ブログ投稿から少しのテキストを見せることができます。オーチャードブログの概要テキスト
これは可能ですか? 私は設定のどこにでもそれを見ることができませんし、何らかの理由で形状トレースは私にテンプレートが何であるかを見せてくれるものではありません。
他の投稿を読んで、私がこれを担当しているビューがParts_Common_Body_Summaryであることを発見しました。だから私は、果樹園のコア/共通フォルダーからこれをコピーして自分のテーマに渡ってそれをコピーした私は、セットアップ、このためのルールをPlacement.infoに次のようにParts_Blog_Summaryに
を名前を変更する前に、フォルダを表示します:私はOrcharに最近同じことを行うために必要な
var body = new HtmlString(Html.Excerpt(bodyHtml, 350).ToString().Replace(Environment.NewLine, "</p>" + Environment.NewLine + "<p>"));
:
<Match ContentType="BlogPost">
<Match DisplayType="Summary">
<Place Parts_Common_Body_Summary="Content:after;Alternate=Parts_Blog_Summary"/>
</Match>
</Match>
これはちょうど私に新しい別のビュー内の文字列の長さを変更するタスクを左にd v1.6。シェイプトレースを使用しているので、正しい方向に進むことができます。 orchard documentation for alternatesとplacementはこれをカバーしています。 Tony Johnson's Argument Exception Blogにこの種の修正の良い例があります。
Philの回答によれば、あなたの現在のテーマのplacement.infoを変更して、そのような代替ビューを使用する必要があります。
<Match ContentType="BlogPost">
<Match DisplayType="Summary">
<Place Parts_Common_Body_Summary="Content:5;Alternate=Parts_BlogPostSummaryBody"/>
</Match>
</Match>
次に、テーマのビューフォルダに「Content-BlogPost.Summary.cshtml」という名前の代替パーツを追加します。
@using Orchard.ContentManagement.ViewModels
@using Orchard.ContentManagement
@using Orchard.Core.Common.Models
@{
ContentItem item = Model.ContentItem;
string title = Model.Title.ToString();
BodyPart bpItem = item.As<BodyPart>();
string linkUrl = Url.ItemDisplayUrl(item);
}
<h4>@Html.ItemDisplayLink(title, item)</h4>
<div class="publishinfo">@Model.ContentItem.CommonPart.PublishedUtc by @Model.ContentItem.CommonPart.Owner.UserName</div>
<div>
<p>@Html.Raw(@bpItem.Text)</p>
</div>