Developer forum

Forum » Feature requests » New notifier in Ecommerce.CustomerCenter (ProductList.BeforeRender)

New notifier in Ecommerce.CustomerCenter (ProductList.BeforeRender)

Niels Foldager
Reply

Hi Dynamicweb,

We have a couple of projects where we will use favorite lists as a basis for creating reports in Perfion. The products lists must be extended with some additional customer-specific data and there must be an opportunity to sort the products in the lists. Therefore, we want a new notifier so we can modify the product list in a favorite list before rendering (GetLoop ("Ecom: CustomerCenter.List.ProductsList")) just as we can modify a common product list in ecommerce (Dynamicweb.Notifications.eCommerce.ProductList.BeforeRender).
If possible, we would also like to have a template extender for "My Lists" in the Customer Center.

Best regards,
Niels Foldager


Replies

 
Nicolai Pedersen
Reply

Hm. You might be able to use the index instead. It has a macro when doing a search that can return the product ids on a users favorite list.

I do not know how you will collect data from Perfion of a page in DW that requires a login?

BR Nicolai

 
Niels Foldager
Reply

Hi Nicolai,

We are not only interested in getting product id's, but entire product objects, which we do when we use GetLoop("Ecom:CustomerCenter.List.ProductsList") inside a GetLoop("Lists"). If we only needed product id's, we could also get them by the API (Dynamicweb.Ecommerce.CustomerCenter.CustomerProductListProduct.GetProductsByListId (int listId)). However, we would like to change/add some data on the individual products in a favorite list before rendering. Therefore, we would like a "CustomerCenter.List.ProductsList.BeforeRender", which allows us to change the individual products before rendering on the front end.

We send data from a favorite list in DW to Perfion using their API.

Best regards,
Niels Foldager

 
Nicolai Pedersen
Reply

Using the index and a product catalog will give you all of that as well...

 
Niels Foldager
Reply

I do not think it is a good idea to use the index in the favorite lists. I have tested this in the new Rapido solution, where a query (ProductsFavorites) has already been created. When adding new products to a favorite list, it requires a rebuild of the index before you can see the products in the favorite list. Same problem if I remove products from a list. This may also be the reason why the favorite lists in Rapido are not yet using the index, but the old productlist-loop in the CustomerCenter (GetLoop("Ecom:CustomerCenter.List.ProductsList")). Therefore, we still need a new notifier in the CustomerCenter ("CustomerCenter.List.ProductsList.BeforeRender"), then it will be posible to modify each product in a favorite list before rendering on the frontend.

Best regards,
Niels Foldager

 
Niels Foldager
Reply

Hi Nicolai,

Do you have some comments or thoughts on how to use the index together with favorite lists, when adding/removing products from a list?

Best regards,
Niels Foldager

 
Nicolai Pedersen
Reply

Hi Niels

Yes - you have seen it correctly on Rapido that it has the issue you described. We are currently chaning it so that the products in your favorites list is a user macro and not something that needs to be indexed to work. So that would be my recommendation. It is not that we do not want to give you extensibility in customer center, but it would be a 'never ending story' of adding the same features as we have in the catalog, so using the catalog is a better option in my views.

BR Nicolai

 
Niels Foldager
Reply

Hi Nicolai,

When do you expect the changes to be made?

Best regards,
Niels Foldager

 

 
Nicolai Pedersen
Reply

Rapido 1.1 due mid December with belonging DW 9.3 release