Magento:批量更新类别的CMS块和&显示模式

时间:2015-09-11 18:40:13

标签: magento

我希望所有类别都有显示模式=“产品和CMS块”& CMS Block =“some filter block”。

我见过this post,但它没有解决问题。

我在DB表中更改了值

UPDATE `catalog_category_flat_store_1` SET display_mode = 'PRODUCTS_AND_PAGE', landing_page = 4;

// 4是cms块的id

UPDATE `catalog_category_entity_varchar` SET value = 'PRODUCTS_AND_PAGE' WHERE attribute_id = 49

// 49是display_mode属性的id。

它不起作用。我也可以以编程方式进行,但没有那么多类别,但足以不能手动执行此操作。

2 个答案:

答案 0 :(得分:0)

您不需要更新平面文件。因为平面文件将通过重新索引更新。使用ssh进行重新索引,并确保检查error.log以查找可能的问题。

答案 1 :(得分:0)

要执行此操作,您需要填写2个类别表:

首先,为那些没有它们的类别插入显示模式。

INSERT IGNORE INTO `catalog_category_entity_varchar` (entity_type_id, attribute_id, store_id, entity_id, value) SELECT '3', '49', 0, entity_id, 'PRODUCTS_AND_PAGE' FROM `catalog_category_entity`

// 49是display_mode

的attribute_id

然后插入要显示的block_id。

INSERT IGNORE INTO `catalog_category_entity_int` (entity_type_id, attribute_id, store_id, entity_id, value) SELECT '3', '50', 0, entity_id, '4' FROM `catalog_category_entity`

// 50是attribute_id For' landing_page',value = 4是块ID。

对于那些已经有值更改INSERT IGNORE for REPLACE的类别。

reindex catalog_category_flat。(在命令行中,在项目&s; / shell文件夹中运行php indexer.php --reindex catalog_category_flat)

完成。