Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

Commit

Permalink
Second manufacturer description on the bottom of the page #919
Browse files Browse the repository at this point in the history
  • Loading branch information
PatrykPorabik committed Sep 4, 2020
1 parent 5e09438 commit c9f045f
Show file tree
Hide file tree
Showing 9 changed files with 137 additions and 87 deletions.
5 changes: 5 additions & 0 deletions Grand.Domain/Catalog/Manufacturer.cs
Expand Up @@ -35,6 +35,11 @@ public Manufacturer()
/// </summary>
public string Description { get; set; }

/// <summary>
/// Gets or sets the description
/// </summary>
public string BottomDescription { get; set; }

/// <summary>
/// Gets or sets a value of used manufacturer template identifier
/// </summary>
Expand Down
6 changes: 6 additions & 0 deletions Grand.Web/App_Data/Localization/Upgrade/EN_470_480.nopres.xml
Expand Up @@ -124,4 +124,10 @@
<LocaleResource Name="Admin.Catalog.Categories.Fields.BottomDescription.Hint">
<Value>Additional category description, which will be visible at the bottom of the page.</Value>
</LocaleResource>
<LocaleResource Name="Admin.Catalog.Manufacturers.Fields.BottomDescription">
<Value>Bottom description</Value>
</LocaleResource>
<LocaleResource Name="Admin.Catalog.Manufacturers.Fields.BottomDescription.Hint">
<Value>Additional manufacturer description, which will be visible at the bottom of the page.</Value>
</LocaleResource>
</Language>
6 changes: 6 additions & 0 deletions Grand.Web/App_Data/Localization/defaultResources.grandres.xml
Expand Up @@ -2800,6 +2800,12 @@
<LocaleResource Name="Admin.Catalog.Manufacturers.Fields.AvailableStores.Hint">
<Value>Select stores for which the manufacturer will be shown.</Value>
</LocaleResource>
<LocaleResource Name="Admin.Catalog.Manufacturers.Fields.BottomDescription">
<Value>Bottom description</Value>
</LocaleResource>
<LocaleResource Name="Admin.Catalog.Manufacturers.Fields.BottomDescription.Hint">
<Value>Additional manufacturer description, which will be visible at the bottom of the page.</Value>
</LocaleResource>
<LocaleResource Name="Admin.Catalog.Manufacturers.Fields.CreatedOn">
<Value>Created on</Value>
</LocaleResource>
Expand Down
Expand Up @@ -208,6 +208,7 @@ public async Task<IActionResult> Edit(string id)
{
locale.Name = manufacturer.GetLocalized(x => x.Name, languageId, false, false);
locale.Description = manufacturer.GetLocalized(x => x.Description, languageId, false, false);
locale.BottomDescription = manufacturer.GetLocalized(x => x.BottomDescription, languageId, false, false);
locale.MetaKeywords = manufacturer.GetLocalized(x => x.MetaKeywords, languageId, false, false);
locale.MetaDescription = manufacturer.GetLocalized(x => x.MetaDescription, languageId, false, false);
locale.MetaTitle = manufacturer.GetLocalized(x => x.MetaTitle, languageId, false, false);
Expand Down
8 changes: 8 additions & 0 deletions Grand.Web/Areas/Admin/Models/Catalog/ManufacturerModel.cs
Expand Up @@ -33,6 +33,10 @@ public ManufacturerModel()

public string Description { get; set; }

[GrandResourceDisplayName("Admin.Catalog.Manufacturers.Fields.BottomDescription")]

public string BottomDescription { get; set; }

[GrandResourceDisplayName("Admin.Catalog.Manufacturers.Fields.ManufacturerTemplate")]
public string ManufacturerTemplateId { get; set; }
public IList<SelectListItem> AvailableManufacturerTemplates { get; set; }
Expand Down Expand Up @@ -200,6 +204,10 @@ public partial class ManufacturerLocalizedModel : ILocalizedModelLocal, ISlugMod

public string Description { get; set; }

[GrandResourceDisplayName("Admin.Catalog.Manufacturers.Fields.BottomDescription")]

public string BottomDescription { get; set; }

[GrandResourceDisplayName("Admin.Catalog.Manufacturers.Fields.MetaKeywords")]

public string MetaKeywords { get; set; }
Expand Down
Expand Up @@ -19,42 +19,56 @@
<vc:admin-widget widget-zone="manufacturer_details_info_top" additional-data="Model" />
@(await Html.LocalizedEditor<ManufacturerModel, ManufacturerLocalizedModel>("manufacturer-info-localized",
@<div class="form-horizontal">
<div class="form-body">
<div class="form-group">
<admin-label asp-for="@Model.Locales[item].Name" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="@Model.Locales[item].Name" />
<span asp-validation-for="@Model.Locales[item].Name"></span>
</div>
</div>
<div class="form-group">
<admin-label asp-for="@Model.Locales[item].Description" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="@Model.Locales[item].Description" asp-template="RichEditor" />
<span asp-validation-for="@Model.Locales[item].Description"></span>
</div>
</div>
<input asp-for="@Model.Locales[item].LanguageId" type="hidden" />
</div>
<div class="form-body">
<div class="form-group">
<admin-label asp-for="@Model.Locales[item].Name" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="@Model.Locales[item].Name" />
<span asp-validation-for="@Model.Locales[item].Name"></span>
</div>
</div>
<div class="form-group">
<admin-label asp-for="@Model.Locales[item].Description" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="@Model.Locales[item].Description" asp-template="RichEditor" />
<span asp-validation-for="@Model.Locales[item].Description"></span>
</div>
</div>
<div class="form-group">
<admin-label asp-for="@Model.Locales[item].BottomDescription" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="@Model.Locales[item].BottomDescription" asp-template="RichEditor" />
<span asp-validation-for="@Model.Locales[item].BottomDescription"></span>
</div>
</div>
<input asp-for="@Model.Locales[item].LanguageId" type="hidden" />
</div>
</div>
,
@<div class="form-horizontal">
<div class="form-body">
<div class="form-group">
<admin-label asp-for="Name" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="Name" />
<span asp-validation-for="Name"></span>
</div>
</div>
<div class="form-group">
<admin-label asp-for="Description" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="Description" asp-template="RichEditor" />
<span asp-validation-for="Description"></span>
</div>
</div>
</div>
<div class="form-body">
<div class="form-group">
<admin-label asp-for="Name" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="Name" />
<span asp-validation-for="Name"></span>
</div>
</div>
<div class="form-group">
<admin-label asp-for="Description" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="Description" asp-template="RichEditor" />
<span asp-validation-for="Description"></span>
</div>
</div>
<div class="form-group">
<admin-label asp-for="BottomDescription" />
<div class="col-md-9 col-sm-9">
<admin-input asp-for="BottomDescription" asp-template="RichEditor" />
<span asp-validation-for="BottomDescription"></span>
</div>
</div>
</div>
</div>
))
<div class="form-horizontal">
Expand Down
1 change: 1 addition & 0 deletions Grand.Web/Extensions/MappingExtensions.cs
Expand Up @@ -59,6 +59,7 @@ public static ManufacturerModel ToModel(this Manufacturer entity, Language langu
Id = entity.Id,
Name = entity.GetLocalized(x => x.Name, language.Id),
Description = entity.GetLocalized(x => x.Description, language.Id),
BottomDescription = entity.GetLocalized(x => x.BottomDescription, language.Id),
MetaKeywords = entity.GetLocalized(x => x.MetaKeywords, language.Id),
MetaDescription = entity.GetLocalized(x => x.MetaDescription, language.Id),
MetaTitle = entity.GetLocalized(x => x.MetaTitle, language.Id),
Expand Down
1 change: 1 addition & 0 deletions Grand.Web/Models/Catalog/ManufacturerModel.cs
Expand Up @@ -16,6 +16,7 @@ public ManufacturerModel()

public string Name { get; set; }
public string Description { get; set; }
public string BottomDescription { get; set; }
public string MetaKeywords { get; set; }
public string MetaDescription { get; set; }
public string MetaTitle { get; set; }
Expand Down
Expand Up @@ -15,74 +15,82 @@
}
}

<div class="page manufacturer-page">
<h1 class="generalTitle mt-3 mb-0">@Model.Name</h1>
@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_top", additionalData = Model.Id })
@*description*@
@if (!String.IsNullOrWhiteSpace(Model.Description))
{
<div class="manufacturer-description">
@Html.Raw(Model.Description)
</div>
}
@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_before_featured_products", additionalData = Model.Id })
@*featured products*@
@if (Model.FeaturedProducts.Any())
{
<div class="page-separator"></div>
<div class="col-12 px-0 product-grid customGrid text-center featured-product-grid">
<h2 class="h5 text-left">
<span>@T("Products.FeaturedProducts")</span>
</h2>
<div class="form-row flex-grid">
@foreach (var product in Model.FeaturedProducts)
{
<div class="col-6 col-md-6 col-lg-4 product-container mb-2">
<partial name="_ProductBox" model="product" />
</div>
}
<div class="page manufacturer-page">
<h1 class="generalTitle mt-3 mb-0">@Model.Name</h1>
@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_top", additionalData = Model.Id })
@*description*@
@if (!String.IsNullOrWhiteSpace(Model.Description))
{
<div class="manufacturer-description">
@Html.Raw(Model.Description)
</div>
</div>
}
@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_after_featured_products", additionalData = Model.Id })
@if (Model.Products.Any())
{
<partial name="_CatalogSelectors" model="Model.PagingFilteringContext" />
}
@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_before_filters", additionalData = Model.Id })

@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_before_product_list", additionalData = Model.Id })
@if (Model.Products.Any())
{
if (Model.PagingFilteringContext.ViewMode == "grid")
}
@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_before_featured_products", additionalData = Model.Id })
@*featured products*@
@if (Model.FeaturedProducts.Any())
{
<div class="product-grid col-12 px-0">
<div class="page-separator"></div>
<div class="col-12 px-0 product-grid customGrid text-center featured-product-grid">
<h2 class="h5 text-left">
<span>@T("Products.FeaturedProducts")</span>
</h2>
<div class="form-row flex-grid">
@foreach (var product in Model.Products)
@foreach (var product in Model.FeaturedProducts)
{
<div class="col-lg-4 col-sm-6 col-6 product-container mb-2">
<div class="col-6 col-md-6 col-lg-4 product-container mb-2">
<partial name="_ProductBox" model="product" />
</div>
}
</div>
</div>
}
else
@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_after_featured_products", additionalData = Model.Id })
@if (Model.Products.Any())
{
<div class="product-grid col-12">
<div class="row">
@foreach (var product in Model.Products)
{
<partial name="_ProductBoxList" model="product" />
}
<partial name="_CatalogSelectors" model="Model.PagingFilteringContext" />
}
@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_before_filters", additionalData = Model.Id })

@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_before_product_list", additionalData = Model.Id })
@if (Model.Products.Any())
{
if (Model.PagingFilteringContext.ViewMode == "grid")
{
<div class="product-grid col-12 px-0">
<div class="form-row flex-grid">
@foreach (var product in Model.Products)
{
<div class="col-lg-4 col-sm-6 col-6 product-container mb-2">
<partial name="_ProductBox" model="product" />
</div>
}
</div>
</div>
}
else
{
<div class="product-grid col-12">
<div class="row">
@foreach (var product in Model.Products)
{
<partial name="_ProductBoxList" model="product" />
}
</div>
</div>
}
}
<page-navigation asp-query-param="pagenumber" asp-pagination="Model.PagingFilteringContext" />

@*bottom description*@
@if (!String.IsNullOrWhiteSpace(Model.BottomDescription))
{
<div class="manufacturer-description">
@Html.Raw(Model.BottomDescription)
</div>
}
}
<page-navigation asp-query-param="pagenumber" asp-pagination="Model.PagingFilteringContext" />

@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_bottom", additionalData = Model.Id })
</div>

@await Component.InvokeAsync("Widget", new { widgetZone = "manufacturerdetails_bottom", additionalData = Model.Id })
</div>

@section filters
{
Expand Down

0 comments on commit c9f045f

Please sign in to comment.