仅当“产品状态”处于激活状态时,才能批量将Prestashop产品分配到类别
编辑:我找到了一个解决方案,你可以在这个问题的末尾找到:)强> 我正在网站上使用Prestashop 1.6.1.5。我想将所有处于活动状态的产品批量分配到id=3的类别。我还希望此类产品的位置从0开始,并递增 现在我做的是:仅当“产品状态”处于激活状态时,才能批量将Prestashop产品分配到类别,prestashop,categories,assign,bulk,Prestashop,Categories,Assign,Bulk,编辑:我找到了一个解决方案,你可以在这个问题的末尾找到:) 我正在网站上使用Prestashop 1.6.1.5。我想将所有处于活动状态的产品批量分配到id=3的类别。我还希望此类产品的位置从0开始,并递增 现在我做的是: INSERT IGNORE INTO ps_category_product SELECT 3, id_product, ((SELECT MAX(position) FROM ps_category_product WHERE id_category = 3) + (@in
INSERT IGNORE INTO ps_category_product SELECT 3, id_product, ((SELECT MAX(position) FROM ps_category_product WHERE id_category = 3) + (@inc := @inc + 1)) FROM ps_product INNER JOIN (SELECT @inc := 0) AS i
在中,为每个产品在ps_category_product表中创建一个新条目,该条目与id_category=3关联。每个条目都有一个递增的位置值
但是现在,我只想要活跃的产品。。。如果我在请求末尾添加“WHERE active=1”,它将仅为活动产品创建良好条目,但每个条目的位置字段都等于0
INSERT IGNORE INTO ps_category_product SELECT 3, id_product, ((SELECT MAX(position) FROM ps_category_product WHERE id_category = 3) + (@inc := @inc + 1)) FROM ps_product INNER JOIN (SELECT @inc := 0) AS i WHERE active = 1
怎么了
我怎么能这么做
编辑:这里有一个解决方案强>
事实上,就连我的第一个查询似乎也不能正确地用于职位的增加
所以最后我找到了一个新的解决方案。如果有人想使用它,请不要忘记在开发站点上测试它,如果出现问题,我不负责;)
假设我们要将所有活动产品批量分配到ID=3的类别
ps\u类别\u产品
设置位置
=(选择@i:=@i+1),其中id\u类别
=3塞德里克你尝试了什么?Prestashop插件上有许多大众版模块可用。noomiastudio的开发人员无法自己编写这样的简单脚本(参见?;)。请返回一些代码,否则此问题将被删除。抱歉@Florian Lemaitre,我刚刚更新了我的问题!提前谢谢你!你试了什么?Prestashop插件上有许多大众版模块可用。noomiastudio的开发人员无法自己编写这样的简单脚本(参见?;)。请返回一些代码,否则此问题将被删除。抱歉@Florian Lemaitre,我刚刚更新了我的问题!提前谢谢你!