全局设置Qty使用Decimals magento

时间:2013-08-08 23:22:51

标签: magento

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

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

我只希望这适用于Fabric产品(大约有2000种不同的面料产品),但不适用于她在她的网站上销售的其他类型,如标尺,针,纽扣等......我不想要人们可以购买.5按钮。

由于

2 个答案:

答案 0 :(得分:2)

我想知道同样的事情,我只是用Google搜索了这个,并且在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 --
);

对于新/传入的产品.. ,没有全局配置可以控制此项,而则不能将其设置为默认配置,因为它已经是全局属性。 除非 ,您愿意花一些时间制作一个Observer模块,为所有创建并保存(成功)的新产品设置该属性。

答案 1 :(得分:0)

如果非Fabric产品只是少数产品或没有产品,则有一个数据库查询可以解决这个问题。

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

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的答案)或通过管理界面(产品 - >库存)一次性完成所有操作一个接一个(安全的方式)。

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