EC-CUBEではバージョン3.0.14あたりからカテゴリーを登録する際に親カテゴリーも同時に登録する仕様と変更されました。
場合によっては便利なのですが、サイトによっては親カテゴリーを登録したくない場合もあるかと思います。
そういった場合は商品登録画面に該当するProductControllerを修正することで対応可能です。
src/Eccube/Controller/Admin/Product/ProductController.php
editメソッド内に同時に親カテゴリーを登録しているコードがあるので削除します。
// 同時に親カテゴリーを登録している部分
foreach ($Category->getPath() as $ParentCategory) {
if (!isset($categoriesIdList[$ParentCategory->getId()])) {
$ProductCategory = $this->createProductCategory($Product, $ParentCategory, $count);
$app['orm.em']->persist($ProductCategory);
$count++;
/* @var $Product \Eccube\Entity\Product */
$Product->addProductCategory($ProductCategory);
$categoriesIdList[$ParentCategory->getId()] = true;
}
}
上のコードを削除することで子カテゴリーだけを登録することが可能です。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。
EC-CUBEゴールドパートナー