Get comparison list count in headerlinks.cshtml

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
5 years ago
Hi, I am using NopCommerce version 3.90.

I have added an <li> item to the headerlinks.cshtml file for the comparison list. i would like to include the number of items in the comparison list next to the text. e.g. "Comparison List (12)".

Has anyone figured out a way to do this?

Thanks
5 years ago
The following is a way of doing it.

@{
    var count = EngineContext.Current.Resolve<ICompareProductsService>.GetComparedProducts().Count;
}

<li>
<a href="@Url.RouteUrl("CompareProducts")"> Comparison List (@count) </a>
</li>

5 years ago
RoastedBytes wrote:
The following is a way of doing it.

@{
    var count = EngineContext.Current.Resolve<ICompareProductsService>.GetComparedProducts().Count;
}

<li>
<a href="@Url.RouteUrl("CompareProducts")"> Comparison List (@count) </a>
</li>



Hi RoastedBytes,

is this for version 3.90?

This doesn't work for me, it throws an error when i run it.

Thanks
5 years ago
What error are you getting?
5 years ago
This is the error that i get:
Compiler Error Message: CS0103: The name 'EngineContext' does not exist in the current context

thanks
5 years ago
Add the following lines at the top of the page

@using Nop.Core.Infrastructure
@using Nop.Services.Catalog
5 years ago
Hi,
Thanks for that, i still have an error.

In visual studio it says 'IEngine.Resolve<T>()' is a method, which is not valid in the given context
5 years ago
That's weird. Can you share the entire view file?
5 years ago
Sorry, but forgot to put brackets there

@{
    var count = EngineContext.Current.Resolve<ICompareProductsService>().GetComparedProducts().Count;
}


This should work.

Regards,
Anshul
3 years ago
This code works for me, But count refreshing only after reload page, while adding product to compare list from products home page
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.