/** * カテゴリの削除を実行する. * * 下記の場合は削除を実施せず、エラーメッセージを表示する. * * - 削除対象のカテゴリに、子カテゴリが1つ以上ある場合 * - 削除対象のカテゴリを、登録商品が使用している場合 * * カテゴリの削除は、物理削除で行う. * * @param SC_FormParam $objFormParam * @return void */ public function doDelete(&$objFormParam) { $objCategory = new SC_Helper_Category_Ex(false); $category_id = $objFormParam->getValue('category_id'); // 子カテゴリのチェック $arrBranch = $objCategory->getTreeBranch($category_id); if (count($arrBranch) > 0) { $this->arrErr['category_name'] = '※ 子カテゴリが存在するため削除できません。<br/>'; return; } // 登録商品のチェック $arrCategory = $objCategory->get($category_id); if ($arrCategory['product_count'] > 0) { $this->arrErr['category_name'] = '※ カテゴリ内に商品が存在するため削除できません。<br/>'; return; } // ランク付きレコードの削除(※処理負荷を考慮してレコードごと削除する。) $objCategory->delete($category_id); }