How to show the new products in Home page

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
6 лет назад
Hi All,

can anyone help me to how to show the new products in home page..

Thankyou..
6 лет назад
usadananda wrote:
Hi All,

can anyone help me to how to show the new products in home page..

Thankyou..


Try ==>
Index.cshtml

@Html.Action("NewProducts", "Product")


NewProducts.cshtml

@model IList<ProductOverviewModel>
@using Nop.Web.Models.Catalog;
@{
    //-------Show new product in on home page-------------//
    var controllerName = HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString();
    var actionName = HttpContext.Current.Request.RequestContext.RouteData.Values["action"].ToString();
    var isHome = false;
    if (controllerName == "Home" && actionName == "Index")
    {
        isHome = true;
    Layout = null;
    }
    else
    {
        isHome = false;
        Layout = "~/Views/Shared/_ColumnsTwo.cshtml";
        //title
        Html.AddTitleParts(T("PageTitle.NewProducts").Text);
        //page class
        Html.AppendPageCssClassParts("html-recently-added-products-page");
    }
}

@if (Model.Count > 0)
{
    if (isHome)
    {

        <div class="product-grid">
            <h1 class="title">@T("Products.NewProducts")</h1>
           <div class="item-grid">
                @foreach (var product in Model)
                    {
                    <div class="item-box">
                        @Html.Partial("_ProductBox", product)
                    </div>
                }
            </div>
        </div>
        
    }
    else
    {
        <div class="page recently-added-products-page">
            <div class="page-title">
                <a href="@Url.RouteUrl("NewProductsRSS")" class="link-rss" title="@T("Products.NewProducts.RSS.Hint")">@T("Products.NewProducts.RSS")</a>
                <h1>@T("Products.NewProducts")</h1>
            </div>
            <div class="page-body">
                <div class="product-grid">
                    <div class="item-grid">
                        @foreach (var product in Model)
                        {
                            <div class="item-box">
                                @Html.Partial("_ProductBox", product)
                            </div>
                        }
                    </div>
                </div>

            </div>
        </div>
    }

}
6 лет назад
GO To Admin-> Product-> Edit Product -> Checked the check box "Show on the home Page".
6 лет назад
[email protected] wrote:
GO To Admin-> Product-> Edit Product -> Checked the check box "Show on the home Page".


I tried this.  This does not make products show up under New Products.

You need to check the Mark as new checkbox.

Thanks,
Tony
4 года назад
sohel wrote:
Hi All,

can anyone help me to how to show the new products in home page..

Thankyou..

Try ==>
Index.cshtml

@Html.Action("NewProducts", "Product")


NewProducts.cshtml

@model IList<ProductOverviewModel>
@using Nop.Web.Models.Catalog;
@{
    //-------Show new product in on home page-------------//
    var controllerName = HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString();
    var actionName = HttpContext.Current.Request.RequestContext.RouteData.Values["action"].ToString();
    var isHome = false;
    if (controllerName == "Home" && actionName == "Index")
    {
        isHome = true;
    Layout = null;
    }
    else
    {
        isHome = false;
        Layout = "~/Views/Shared/_ColumnsTwo.cshtml";
        //title
        Html.AddTitleParts(T("PageTitle.NewProducts").Text);
        //page class
        Html.AppendPageCssClassParts("html-recently-added-products-page");
    }
}

@if (Model.Count > 0)
{
    if (isHome)
    {

        <div class="product-grid">
            <h1 class="title">@T("Products.NewProducts")</h1>
           <div class="item-grid">
                @foreach (var product in Model)
                    {
                    <div class="item-box">
                        @Html.Partial("_ProductBox", product)
                    </div>
                }
            </div>
        </div>
        
    }
    else
    {
        <div class="page recently-added-products-page">
            <div class="page-title">
                <a href="@Url.RouteUrl("NewProductsRSS")" class="link-rss" title="@T("Products.NewProducts.RSS.Hint")">@T("Products.NewProducts.RSS")</a>
                <h1>@T("Products.NewProducts")</h1>
            </div>
            <div class="page-body">
                <div class="product-grid">
                    <div class="item-grid">
                        @foreach (var product in Model)
                        {
                            <div class="item-box">
                                @Html.Partial("_ProductBox", product)
                            </div>
                        }
                    </div>
                </div>

            </div>
        </div>
    }

}


Hello.I'm using version 4.20. how can I do that? Can you help ?
4 года назад
sohel wrote:
Hi All,

can anyone help me to how to show the new products in home page..

Thankyou..

Try ==>
Index.cshtml

@Html.Action("NewProducts", "Product")


NewProducts.cshtml

@model IList<ProductOverviewModel>
@using Nop.Web.Models.Catalog;
@{
    //-------Show new product in on home page-------------//
    var controllerName = HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString();
    var actionName = HttpContext.Current.Request.RequestContext.RouteData.Values["action"].ToString();
    var isHome = false;
    if (controllerName == "Home" && actionName == "Index")
    {
        isHome = true;
    Layout = null;
    }
    else
    {
        isHome = false;
        Layout = "~/Views/Shared/_ColumnsTwo.cshtml";
        //title
        Html.AddTitleParts(T("PageTitle.NewProducts").Text);
        //page class
        Html.AppendPageCssClassParts("html-recently-added-products-page");
    }
}

@if (Model.Count > 0)
{
    if (isHome)
    {

        <div class="product-grid">
            <h1 class="title">@T("Products.NewProducts")</h1>
           <div class="item-grid">
                @foreach (var product in Model)
                    {
                    <div class="item-box">
                        @Html.Partial("_ProductBox", product)
                    </div>
                }
            </div>
        </div>
        
    }
    else
    {
        <div class="page recently-added-products-page">
            <div class="page-title">
                <a href="@Url.RouteUrl("NewProductsRSS")" class="link-rss" title="@T("Products.NewProducts.RSS.Hint")">@T("Products.NewProducts.RSS")</a>
                <h1>@T("Products.NewProducts")</h1>
            </div>
            <div class="page-body">
                <div class="product-grid">
                    <div class="item-grid">
                        @foreach (var product in Model)
                        {
                            <div class="item-box">
                                @Html.Partial("_ProductBox", product)
                            </div>
                        }
                    </div>
                </div>

            </div>
        </div>
    }

}


Hello.I'm using version 4.20. how can I do that? Can you help ?
4 года назад
1. Copy HomepageProductsViewComponent.cs file and paste it in same directory.
2. Rename the file and its class name as NewProductsViewComponent.
3. Modify line no. 31 as below.
var products = _productService.SearchProducts(markedAsNewOnly: true).ToList();

4. Copy /Views/Shared/Components/HomepageProducts folder and paste it in same directory.
5. Rename the folder as NewProducts.
4 года назад
mhsjaber wrote:
1. Copy HomepageProductsViewComponent.cs file and paste it in same directory.
2. Rename the file and its class name as NewProductsViewComponent.
3. Modify line no. 31 as below.
var products = _productService.SearchProducts(markedAsNewOnly: true).ToList();

4. Copy /Views/Shared/Components/HomepageProducts folder and paste it in same directory.
5. Rename the folder as NewProducts.


??The directory is also HomepageProductsViewComponent.the cs Folder is not located.??

I'm a beginner can you help me ?
4 года назад
It's not directory, but a C# file. It's in Nop.Web > Components directory.
4 года назад
mhsjaber wrote:
It's not directory, but a C# file. It's in Nop.Web > Components directory.


Unfortunately, it didn't. I don't understand where I'm making a mistake. :(

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.