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 Jahre weitere
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 Jahre weitere
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 Jahre weitere
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 Jahre weitere
What error are you getting?
5 Jahre weitere
This is the error that i get:
Compiler Error Message: CS0103: The name 'EngineContext' does not exist in the current context

thanks
5 Jahre weitere
Add the following lines at the top of the page

@using Nop.Core.Infrastructure
@using Nop.Services.Catalog
5 Jahre weitere
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 Jahre weitere
That's weird. Can you share the entire view file?
5 Jahre weitere
Sorry, but forgot to put brackets there

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


This should work.

Regards,
Anshul
3 Jahre weitere
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.