新しい Web ストアのセットアップに使用するデータ インストール スクリプトを作成しようとしています。このスクリプトは、特定のショップのカテゴリ、ページ、静的ブロック、およびデフォルト設定を作成します (ショップをホストするためにマルチストア設定を使用します)。私たちの開発/ステージング セットアップでは、このスクリプトは問題なく動作し、すべてのカテゴリが問題なくビルドされます。しかし、ライブ システムでは、このスクリプトは失敗します。いくつかのデバッグの後、違いはライブ システムでのフラット カタログの使用にあることがわかりました。
フラット テーブルを有効にしてカテゴリを作成する際の問題は、指定された parentId に基づいて親パス情報を取得することです。
$parentCategory = Mage::getModel('catalog/category')->load($parentId);
フラット カテゴリを有効にしないと、これは正しいparentCategory を提供しますが、フラット カテゴリを有効にすると、空のオブジェクトが提供されます。
フラット カテゴリが有効な場合にこの動作が発生するのはなぜですか?