|
|
|
@ -2,18 +2,19 @@ |
|
|
|
|
|
|
|
@using Volo.CmsKit.Public.Web.Pages |
|
|
|
@using Volo.CmsKit.Public.Web.Pages.Public.CmsKit.Blogs |
|
|
|
@using Volo.CmsKit.Web |
|
|
|
|
|
|
|
@inherits CmsKitPublicPageBase |
|
|
|
|
|
|
|
@model IndexModel |
|
|
|
|
|
|
|
@section styles{ |
|
|
|
<abp-style src="/Pages/Public/CmsKit/Blogs/index.css"/> |
|
|
|
@section styles { |
|
|
|
<abp-style src="/Pages/Public/CmsKit/Blogs/index.css" /> |
|
|
|
} |
|
|
|
|
|
|
|
@section scripts { |
|
|
|
<abp-script-bundle> |
|
|
|
<abp-script src="/Pages/Public/CmsKit/Blogs/index.js"/> |
|
|
|
<abp-script src="/Pages/Public/CmsKit/Blogs/index.js" /> |
|
|
|
</abp-script-bundle> |
|
|
|
} |
|
|
|
|
|
|
|
@ -21,29 +22,43 @@ |
|
|
|
const string dummyImageSource = "https://dummyimage.com/320x180/a3a3a3/fff.png"; |
|
|
|
} |
|
|
|
|
|
|
|
<abp-row id="blogs-filter-area"> |
|
|
|
<abp-column size="_4"> |
|
|
|
<div class="mb-3"> |
|
|
|
<label class="form-label" asp-for="@Model.SelectedAuthor"></label> |
|
|
|
@if (Model.AuthorId.HasValue) |
|
|
|
{ |
|
|
|
<abp-row id="blogs-filter-area"> |
|
|
|
<abp-column size="_4"> |
|
|
|
<div class="mb-3"> |
|
|
|
<label class="form-label" asp-for="@Model.SelectedAuthor"></label> |
|
|
|
|
|
|
|
<select id="AuthorSelect" asp-for="@Model.AuthorId" |
|
|
|
class="auto-complete-select" |
|
|
|
data-placeholder="@L["SelectAnAuthor"]" |
|
|
|
data-allow-clear="true" |
|
|
|
data-autocomplete-api-url="/api/cms-kit-public/blog-posts/authors" |
|
|
|
data-autocomplete-display-property="userName" |
|
|
|
data-autocomplete-value-property="id" |
|
|
|
data-autocomplete-items-property="items" |
|
|
|
data-autocomplete-filter-param-name="filter"> |
|
|
|
<select id="AuthorSelect" asp-for="@Model.AuthorId" |
|
|
|
class="auto-complete-select" |
|
|
|
data-placeholder="@L["SelectAnAuthor"]" |
|
|
|
data-allow-clear="true" |
|
|
|
data-autocomplete-api-url="/api/cms-kit-public/blog-posts/authors" |
|
|
|
data-autocomplete-display-property="userName" |
|
|
|
data-autocomplete-value-property="id" |
|
|
|
data-autocomplete-items-property="items" |
|
|
|
data-autocomplete-filter-param-name="filter"> |
|
|
|
|
|
|
|
@if (Model.SelectedAuthor != null) |
|
|
|
{ |
|
|
|
<option selected value="@Model.AuthorId" selected="selected">@Model.SelectedAuthor.UserName</option> |
|
|
|
} |
|
|
|
</select> |
|
|
|
</div> |
|
|
|
</abp-column> |
|
|
|
</abp-row> |
|
|
|
<hr /> |
|
|
|
} |
|
|
|
|
|
|
|
@if (Model.TagId.HasValue) |
|
|
|
{ |
|
|
|
<h2>@L["Tags"]</h2> |
|
|
|
<span class="badge rounded-pill text-bg-secondary">@Model.FilteredTagName |
|
|
|
<a href="/@CmsBlogsWebConsts.BlogsRoutePrefix/@Model.BlogSlug" class="text-bg-secondary"><i class="fa fa-close ms-1"></i></a> |
|
|
|
</span> |
|
|
|
<hr /> |
|
|
|
} |
|
|
|
|
|
|
|
@if(Model.SelectedAuthor != null) |
|
|
|
{ |
|
|
|
<option selected value="@Model.AuthorId" selected="selected">@Model.SelectedAuthor.UserName</option> |
|
|
|
} |
|
|
|
</select> |
|
|
|
</div> |
|
|
|
</abp-column> |
|
|
|
</abp-row> |
|
|
|
<abp-row id="blogs-container"> |
|
|
|
@foreach (var blog in Model.Blogs.Items) |
|
|
|
{ |
|
|
|
@ -51,11 +66,11 @@ |
|
|
|
<abp-card> |
|
|
|
@if (blog.CoverImageMediaId != null) |
|
|
|
{ |
|
|
|
<img src="/api/cms-kit/media/@blog.CoverImageMediaId" class="card-img-top" onerror="this.src='@dummyImageSource'"/> |
|
|
|
<img src="/api/cms-kit/media/@blog.CoverImageMediaId" class="card-img-top" onerror="this.src='@dummyImageSource'" /> |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
<img src="@(dummyImageSource)?text=@blog.Title" class="card-img-top"/> |
|
|
|
<img src="@(dummyImageSource)?text=@blog.Title" class="card-img-top" /> |
|
|
|
} |
|
|
|
<abp-card-body class="p-4"> |
|
|
|
<h5>@blog.Title</h5> |
|
|
|
@ -65,7 +80,7 @@ |
|
|
|
</p> |
|
|
|
<p style="min-height: 60px;">@blog.ShortDescription</p> |
|
|
|
<div class="d-grid gap-2"> |
|
|
|
<a href="/blogs/@Model.BlogSlug/@blog.Slug" class="btn btn-light"> |
|
|
|
<a href="/@CmsBlogsWebConsts.BlogsRoutePrefix/@Model.BlogSlug/@blog.Slug" class="btn btn-light"> |
|
|
|
@L["Read"] |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
@ -76,6 +91,6 @@ |
|
|
|
</abp-row> |
|
|
|
<abp-row> |
|
|
|
<abp-column> |
|
|
|
<abp-paginator model="Model.PagerModel"/> |
|
|
|
<abp-paginator model="Model.PagerModel" /> |
|
|
|
</abp-column> |
|
|
|
</abp-row> |
|
|
|
|