Magento のまったく新しいインストール、製品のセットアップなどで、製品の CSV をエクスポートしようとしていたところで、通常のフォームを送信すると、「有効なデータが送信されませんでした」というエラーが表示され、何が起こっているのかを確認するためにデバッグを開始しました。最初の停止は exception.log でした
Notice: Undefined index: in /app/code/core/Mage/ImportExport/Model/Export/Entity/Product.php on line 539' in /app/code/core/Mage/Core/functions.php:245
問題を引き起こしている機能は次のとおりです。
/**
* Update data row with information about categories. Return true, if data row was updated
*
* @param array $dataRow
* @param array $rowCategories
* @param int $productId
* @return bool
*/
protected function _updateDataWithCategoryColumns(&$dataRow, &$rowCategories, $productId)
{
if (!isset($rowCategories[$productId])) {
return false;
}
$categoryId = array_shift($rowCategories[$productId]);
$dataRow[self::COL_ROOT_CATEGORY] = $this->_rootCategories[$categoryId];
if (isset($this->_categories[$categoryId])) {
$dataRow[self::COL_CATEGORY] = $this->_categories[$categoryId];
}
return true;
}
$rowCategories が配列ではないため、何らかの理由で $categoryId が設定されません。
念のためインデックス管理を再実行しましたが、カテゴリなどに問題があるようです。続行する前に $categoryId が設定されていることを確認することで簡単に解決できることはわかっていますが、そもそもエラーの原因を知りたいです。