EC-CUBE管理画面からカテゴリが削除できない場合、いくつか考えられる原因がありますのでご紹介します。

1. そのカテゴリに登録されている商品が存在すると削除不可

このケースが一番多いのですが、そのカテゴリに登録されている商品が存在するとカテゴリを消すことができません。
削除ボタンは表示されているものの、押せない状態になっています。

商品一覧でカテゴリによって検索することができますので、削除したいカテゴリを指定して検索してみてください。

この時注意することとしては、「公開」「非公開」の商品だけでなく、「廃止」ステータスの商品であってもそのカテゴリに残っていると削除できないということです。

2. 子カテゴリが存在すると削除不可

子カテゴリが残っていると削除できません。子カテゴリから削除するようにしてください。
この場合も削除ボタンは表示されているものの、押せない状態になっています。

3. 関連するデータが存在するため削除不可

この場合は削除ボタンを押せますが、関連するデータがあるため「カテゴリ名」を削除できませんでした というエラーが出ればこのパターンです。

独自カスタマイズや導入プラグインによってカテゴリが参照されており、カテゴリ削除時に自動で外部キー制約を解除するための指定がされていません。

ログを見ればどのデータかはわかりますが、どこかに下記のように参照指定しているエンティティがあると考えられます。

/**
* @var \Eccube\Entity\Category
*
* @ORM\ManyToOne(targetEntity="Eccube\Entity\Category")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
* })
*/
private $Category;

ECCUBE制作トップへ

EC-CUBEカスタマイズに関するお問い合わせはこちら

    脆弱性修正