如何将类别的显示设置应用于所有类别?


10

我有很多类别,而不是将新设置一一应用到所有类别,我想知道是否可以一次将新设置应用到所有类别?

谢谢!

Answers:


13

用户界面无法执行此操作。
我通常这样做的方法是更新数据库中的值。这不是推荐的方法,但是可以。
假设您要将is_anchor所有类别的属性更新为“ 1”。

SELECT * FROM eav_attribute where attribute_code = 'is_anchor'

上面的查询应为您提供is_anchor属性。在记录的结果中,我看到属性ID为51(可能与您不同)。和backend_typeint。这意味着该属性的值在表中catalog_category_entity_int

UPDATE `catalog_category_entity_int` set value = 1 where attribute_id = 51 and parent_id <> 0;

此查询将为is_anchor(id 51)属性的值设置1,除“所有根的根”外,所有类别均带有parent = 0
运行查询后,我重新索引平面类别,仅此而已。


完美!正是我在寻找什么:D
Aamir Siddique

7
更新了对Magento的较新版本的SQL查询(例如,我没有parent_id列)。UPDATE catalog_category_entity_int设置值= 1,其中attribute_id =(SELECT attribute_id FROM eav_attribute,其中attribute_code ='is_anchor');
2014年

@Marius在我的情况下不起作用,我尝试UPDATE catalog_category_int设置值= 1,其中attribute_id = 51和parent_id <> 0; 但错误:#1146-表'magento1.catalog_category_int'不存在
Dinesh 2015年

1
@Dinesh,这意味着您的magento实例出了点问题。
马吕斯

@Marius如何查找和修复它,有任何帮助
Dinesh

2

我不确定您要在类别中更改哪些设置,但是如果它在此页面的选项列表中,则使用Magento REST API可能是您的最佳选择。


1

首先确定is_anchor属性的属性ID:

SELECT * FROM eav_attribute where attribute_code = 'is_anchor';

我们在数据库中获取属性ID 51。现在运行以下查询

UPDATE catalog_category_entity_int set value = 1 where attribute_id = 51;

用您自己的属性ID替换51。然后重建这些索引

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.