我们有 Magento社区版本1.9.0.1 。我们从admin
> system
> configuration
> frontend
激活了使用平面目录类别。当我们激活并尝试重新编制索引时,它会给我们一条错误消息catalog_category_flat_store_1
。现在,在admin中使用Flat Catalog Category是灰色的,无法更改它。然后我们手动创建,但之后我们收到此错误消息:
Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`catalog_category_flat_store_1`, CONSTRAINT `FK_CAT_CTGR_FLAT_STORE_1_ENTT_ID_CAT_CTGR_ENTT_ENTT_ID` FOREIGN KEY (`entity_id`) REFERENCES `catalog_category_entity` (`entity_id`) )' in /www/lib/Zend/Db/Statement/Pdo.php:234
Stack trace:
#0 /www/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /www/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /www/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#3 /www/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `ca...', Array)
#4 /www/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `ca...', Array)
#5 /www/lib/Varien/Db/Adapter/Pdo/Mysql.php(1998): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `ca...', Array)
#6 /www/lib/Varien/Db/Adapter/Pdo/Mysql.php(1971): Varien_Db_Adapter_Pdo_Mysql->insertArray('catalog_categor...', Array, Array)
#7 /www/app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php(539): Varien_Db_Adapter_Pdo_Mysql->insertMultiple('catalog_categor...', Array)
#8 /www/app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php(1482): Mage_Catalog_Model_Resource_Category_Flat->rebuild()
#9 /www/app/code/core/Mage/Catalog/Model/Category/Indexer/Flat.php(260): Mage_Catalog_Model_Resource_Category_Flat->reindexAll()
#10 /www/app/code/core/Mage/Index/Model/Process.php(210): Mage_Catalog_Model_Category_Indexer_Flat->reindexAll()
#11 /www/app/code/core/Mage/Index/Model/Process.php(258): Mage_Index_Model_Process->reindexAll()
#12 /www/shell/indexer.php(166): Mage_Index_Model_Process->reindexEverything()
#13 /www/shell/indexer.php(212): Mage_Shell_Compiler->run()
无法弄清楚究竟是什么问题以及从哪里开始。日志没有说什么。我们禁用平板产品并截断并重新编制索引但仍然使用平面目录类别下拉列表是禁用的,无法更改值。所以我唯一的选择是重新索引使用平面目录类别,直到那时它不会在我们的网站上显示菜单..
任何帮助将不胜感激。
答案 0 :(得分:0)
可能catalog_category_flat_store_1已损坏。我会将该表重命名为catalog_category_flat_store_1_OLD(例如),然后从ssh我将尝试使用php -f indexer.php -- -reindex catalog_category_flat
从文件夹/ shell重新索引。必须使用您的类别再次重新生成表格。
答案 1 :(得分:0)
我通过替换
解决了该问题$app = Mage::app(0);
使用
Mage::app("admin");
在我的导入脚本中。