商品価格が「0」の場合、エラーになり次へ進めません。
でもゼロ円商品を設けたいという場合も多々あると思います。
対象ファイル: data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
556行目付近
フォームからの入力チェックが書かれているので、そこを調整すればOKです。
// 入力エラーチェック
function lfErrorCheck($array) {
$objErr = new SC_CheckError($array);
$objErr->doFunc(array("商品名", "name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("一覧-メインコメント", "main_list_comment", MTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("詳細-メインコメント", "main_comment", LLTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("詳細-メインコメント", "main_comment", $this->arrAllowedTag), array("HTML_TAG_CHECK"));
$objErr->doFunc(array("ポイント付与率", "point_rate", PERCENTAGE_LEN), array("EXIST_CHECK", "NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("商品送料", "deliv_fee", PRICE_LEN), array("NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("備考欄(SHOP専用)", "note", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("検索ワード", "comment3", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("メーカーURL", "comment1", URL_LEN), array("SPTAB_CHECK", "URL_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("発送日目安", "deliv_date_id", INT_LEN), array("NUM_CHECK"));
if($this->tpl_nonclass) {
$objErr->doFunc(array("商品コード", "product_code", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK"));
$objErr->doFunc(array("通常価格", "price01", PRICE_LEN), array("MAX_LENGTH_CHECK"));
$objErr->doFunc(array("商品価格", "price02", PRICE_LEN), array("MAX_LENGTH_CHECK"));
if(!isset($array['stock_unlinited']) && $array['stock_unlimited'] != "1") {
$objErr->doFunc(array("在庫数", "stock", AMOUNT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
}
}
if(!isset($array['sale_unlimited']) && $array['sale_unlimited'] != "1") {
$objErr->doFunc(array("購入制限", "sale_limit", AMOUNT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
}
for ($cnt = 1; $cnt <= PRODUCTSUB_MAX; $cnt++) {
$objErr->doFunc(array("詳細-サブタイトル$cnt", "sub_title$cnt", STEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("詳細-サブコメント$cnt", "sub_comment$cnt", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("詳細-サブコメント$cnt", "sub_comment$cnt", $this->arrAllowedTag), array("HTML_TAG_CHECK"));
}
規格分けする場合のゼロ円商品対応
“price01” “price02″ はソート検索で、該当箇所は対応済みだが、商品規格の価格ではゼロ円がエラーになってしまう。
該当ファイル: data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php
しかし、このファイルでは、”price01” “price02” という文字が出てこない、目視で探して対応できました。