VirtoCommerce Product Persistently Not for Sale - virtocommerce

It seems nothing I do will enable purchasing a product.
If you go to http://forestum-webshop.azurewebsites.net/fi-fi/forestum/pihakoristeet/puulinnut and hover over the product, it says Not for Sale
What would be the most common causes for product being Not for Sale?

Related

How does the Offer Quantity and Inventory Quantity change?

I am trying to create an Inventory Management application using the Ebay Sell APIs. When adding a product, I first add some quantity (say 100 T-Shirts) to the Inventory. Next, I make this inventory live by creating an offer and specifying the offer quantity (say 10 T-Shirts).
Now, my question is, when there is a successful sale of some of the inventory via an offer, does either of the offer quantity or inventory quantity change automatically? Or do I have to manually call bulkUpdatePriceQuantity to update the quantities?
PS: I would test this myself on the sandbox, however, I am unable to fetch orders due to some internal error on the eBay APIs

Prestashop configure product attribute without stock

In PrestaShop, I saw that attributes are involved in stocks calculation. Is it possible to avoid that?
Here is an example: my shop sells a product with the option "Giftbox". The gift box has a cost of 2€, but it has not a stock. In the admin product page, Prestashop asks me for a stock, but the gift box is not related to the product itself.
Thank you
If you use Prestashop >= 1.7 you can set Gitf Options without attributes. You can find it in Preferences->Orders.

Shopify update the inventory for the custom bundle

I am trying to create a bundle for the Shopify site. I do not want to use the Shopify app to create the bundle. Product A has 30 variants. A customer has to buy 6 quantity of variants at a time. It could be any 6 variants. How can I update the inventory for all the variants when the checkout is done?
You don't update inventory, Shopify updates inventory. Your job instead is to ensure the correct number of variants go into the checkout. If you have trouble with that, you can always help yourself out with some clever product manipulations. Another solution is to listen to the checkout and examine the products sold. You can then alter inventory levels to suit your needs.
Almost all the bundle Apps do the same thing. You can try them out and see if that squares your circle. I made one of the original bundlers whereby I had it so in a bundle, made of N products, the merchant could tag each variant for a specific quantity, and then the customer would be buying those specific quantities when buying the product. I would use Ajax calls to check quantity live, and when the product was purchased I would then deduct the right inventory quantities because the product itself had infinite quantity.
That was very sophisticated and worked most of the time, but completely messed up when customers would SIT on the cart. Inventory levels would change, and valid carts at the time would become stale, and inventory would be messed up, resulting in overselling stock. Me bad. Shopify bad. Bundling bad. With Shopify Plus, all that kind of went out the window, and bundles are much easier. Without Plus, you gamble!

Shopping cart - the right way?

I need to implement shopping cart for my website. I decided to store carts in database rather that in session. My website serves as a platform for selling items between users. That said, users can edit their own products any time.
I understand that I can't just use product ID in the cart, because user need to get whatever he put to the cart. If the product is being changed after he put it to the cart, it shouldn't affect what he ordered, correct?
How is it usually solved? Should I copy entire product to the cart? Or maybe rather save versions of particular product and link to them? Another idea would be to inform customer on checkout that the product changed.
How is it solved in popular e-commerce platforms?
I understand that I can't just use product ID in the cart, because
user need to get whatever he put to the cart. If the product is being
changed after he put it to the cart, it shouldn't affect what he
ordered, correct?
the product price is going to change. the inventory is going to change. if a product goes out of inventory you want the customer to know so they can make another choice. if the product price has gone up or down, the cart should reflect the current price. so that means the cart will check the product table for the product pricing and inventory at different steps before the final transaction.
as part of the cart to product lookup -- if the pricing has changed you can alert the user. just as important - if the customer has ordered quantity 4 of a product, but the inventory has gone down to just 3 of them -- you have to change the cart and make it very obvious to the customer what just happened.
there are only two things the cart is responsible for - the product id, and the quantity to be sold. anything else stored in the cart is just to make it easier to display the product on the cart page or information needed for the merchant.

Prestashop cross selling module not working

I am running prestashop shopping cart and I enabled its cross selling module. After enabling it I could not see any thing on cart saying "customer who bought this product also bought" etc
Is there anything I missed?
If you've only just enabled this, you won't be getting any information from this module just yet. If no one has purchased similar products since you've enabled this module, there won't be any information gathered just yet.
Give it some time to allow it to gather the data from your customers, right now it likely doesn't have anything to work with but it is working in the background.
The crosselling module needs some orders to check if a product was sold together with other products. A list of 'people who bought this product also bought' will only be shown with products that :
1) are already in any old order AND
2) has other products within that same order.
 
Only if those requirements are met, cross-sold product will be shown.