0

有没有办法在magento中全局设置“QtyUsesDecimals”选项?我的

我正在为销售 Fabric 和其他相关材料的客户建立一个 Magento 站点。任何一种面料产品至少有 0.5 码,之后,它可以达到任何数量,但最低为 0.5。目前我可以输入 .25、.125 等,然后将它们添加到购物车中。

我只希望这适用于面料产品(大约有 2000 种不同的面料产品),而不适用于她在她的网站上销售的其他类型,如尺子、针、纽扣等......我不希望人们成为能够购买 0.5 按钮。

谢谢

4

2 回答 2

2

我想知道同样的事情,我只是在 5 秒内为你搜索了这个。我得到了答案(并且也理解了,请注意):

https://magento.stackexchange.com/questions/6193/magento-product-quantity-uses-decimals

并将其应用于织物......它应该是这样的:

UPDATE `cataloginventory_stock_item` 
SET `is_qty_decimal` = 1 
WHERE `product_id` IN (
   -- INSERT SUBQUERY HERE THAT GETS ALL PRODUCT ID's UNDER THE 'FABRIC' CATEGORY --
   -- IT WOULD START WITH 'SELECT `product_id` FROM ..' you do the rest I believe in you --
);

对于新的/传入的产品..,没有控制这个的全局配置,,你不能在默认配置中设置它,因为它已经是一个全局属性。除非,您愿意花一些时间来制作一个观察者模块,该模块为所有创建并保存(成功)的新产品设置该属性。

于 2013-08-09T06:22:18.713 回答
0

如果非面料产品只是少数或没有,则可以通过数据库查询来解决此问题。

此解决方案不是更新安全的,除非您真正了解自己在做什么,否则不应使用此解决方案。

ALTER TABLE `cataloginventory_stock_item` 
CHANGE COLUMN `is_qty_decimal` `is_qty_decimal` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Is Qty Decimal';

这只会将此列的默认值从DEFAULT '0'更改为DEFAULT '1'。在 Magento 1.7.0.2 中,其他列字段保持不变,因此您可以检查查询以查看您的数据库版本是否对应。然后,您应该在每次数据库更新时检查并重新运行此查询。

执行此查询后,您应该将非织物产品的值修改回“0”:您可以通过查询(检查 Seth Jeremi Malaki 的答案)或通过管理界面(产品->库存)一次完成所有操作(安全的方式)。

否则,如果面料产品少很多(或没有),只需将数据库保持在其状态并通过管理界面仅修改面料。

于 2014-01-14T08:41:16.853 回答