I want to add more than 3000 products into one promotion,but its difficult to add all of them through manually in admin panel.
So i plan to add all those products through database script.Is it possible to add all the products through scripts.
Please help me to resolve the issue
Thanks & Regards
Anil Kumar
Yes, it's possible. What are the properties of your promotion? Is this a cart or catalog promotion?
It can get complicated if you're doing multiple conditions or groups of conditions. But if you just wanted to say create a promotion for 25% off products in set X, and you set it up with 1 X then you could run something fairly straightforward that will replace set X with the 3000 products you want.
Do note that using promotions like this will have a performance implact at each cart recalculate or in the case of a catalog promotion, each add to cart. Maybe if you described in more detail what you really want to do, there's an easier or more performant way.
I found the following serialize data in database(cscart_promotion table) for my promotion
a:3:{s:3:“set”;s:3:“all”;s:9:“set_value”;s:1:“1”;s:10:“conditions”;a:1:{i:3;a:3:{s:8:“operator”;s:2:“in”;s:9:“condition”;s:8:“products”;s:5:“value”;a:3:{i:819578936;a:2:{s:10:“product_id”;s:7:“1036174”;s:6:“amount”;s:1:“1”;}i:1085488311;a:2:{s:10:“product_id”;s:7:“1036171”;s:6:“amount”;s:1:“1”;}i:556291820;a:2:{s:10:“product_id”;s:7:“1036176”;s:6:“amount”;s:1:“1”;}}}}}
In that i need to add few more products
I think those values are generated through random right
819578936
1085488311
556291820
if not how can i generate those values for 3000 products?
please help me
No, they are certainly NOT random.
I believe they are a product key which is created from the product_id and product options using fn_generate_cart_id() or similar function. It is used so you can have a product with different options in the promotion. It will use that key to determine if that product (and options) is in the cart.
I would think you could experiment a bit with one of your products to verify that doing an fn_generate_cart_id($product_id, array('product_options'=>array()) comes up with the keys above.
You should look through app/functions/fn.promotions.php. However, I will caution you that the code is somewhat obtuse and difficult to read/understand without using a debugger to step through some of the functions.