商品一覧ページで該当カテゴリーには1ページで納まる商品数で10件しか内にも関わらずページ表示が表示されてしまうのです。
「○○件の商品がございます」の下にある
1 2 3 4 次へ>>
の部分なのですが、当然ながら2をクリックすると「現在、商品はございません。」となってしまうのです。
エラーログを見ると下記の通りです。
引用:
2015/02/24 13:00:09 [/***/products/list.php] Warning(E_WARNING): Missing argument 2 for LC_Page_Products_List::doDefault(), called in ****/data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php on line 124 and defined on [****/data/class/pages/products/LC_Page_Products_List.php(512)] from 153.176.2.236
customer_id =
****/products/list.php(29): LC_Page_Products_List_Ex->process
****/data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php(56): LC_Page_Products_List->process
****/data/class/pages/products/LC_Page_Products_List.php(83): LC_Page_Products_List->action
****/data/class/pages/products/LC_Page_Products_List.php(153): LC_Page_Products_List_Ex->doDefault
****/data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php(124): LC_Page_Products_List->doDefault
****/data/class/pages/products/LC_Page_Products_List.php(512): SC_Helper_HandleError::handle_warning
LC_Page_Products_List.php(512)は下記のようになっています
public function doDefault(&$objProduct, &$objFormParam)
{
//商品一覧の表示処理
$strnavi = $this->objNavi->strnavi;
// 表示文字列
$this->tpl_strnavi = empty($strnavi) ? ' ' : $strnavi;
// 規格1クラス名
$this->tpl_class_name1 = $objProduct->className1;
// 規格2クラス名
$this->tpl_class_name2 = $objProduct->className2;
// 規格1
$this->arrClassCat1 = $objProduct->classCats1;
// 規格1が設定されている
$this->tpl_classcat_find1 = $objProduct->classCat1_find;
// 規格2が設定されている
$this->tpl_classcat_find2 = $objProduct->classCat2_find;
$this->tpl_stock_find = $objProduct->stock_find;
$this->tpl_product_class_id = $objProduct->product_class_id;
$this->tpl_product_type = $objProduct->product_type;
// 商品ステータスを取得
$this->productStatus = $this->arrProducts['productStatus'];
unset($this->arrProducts['productStatus']);
$this->tpl_javascript .= 'eccube.productsClassCategories = ' . SC_Utils_Ex::jsonEncode($objProduct->classCategories) . ';';
if (SC_Display_Ex::detectDevice() === DEVICE_TYPE_PC) {
//onloadスクリプトを設定. 在庫ありの商品のみ出力する
foreach ($this->arrProducts as $arrProduct) {
if ($arrProduct['stock_unlimited_max'] || $arrProduct['stock_max'] > 0) {
$js_fnOnLoad .= "fnSetClassCategories(document.product_form{$arrProduct['product_id']});";
}
}
}
//カート処理
$target_product_id = intval($this->arrForm['product_id']);
if ($target_product_id > 0) {
// 商品IDの正当性チェック
if (!SC_Utils_Ex::sfIsInt($this->arrForm['product_id'])
|| !SC_Helper_DB_Ex::sfIsRecord('dtb_products', 'product_id', $this->arrForm['product_id'], 'del_flg = 0 AND status = 1')) {
SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND);
}
// 入力内容のチェック
$arrErr = $this->lfCheckError($objFormParam);
if (empty($arrErr)) {
$this->lfAddCart($this->arrForm);
// 開いているカテゴリーツリーを維持するためのパラメーター
$arrQueryString = array(
'category_id' => $this->arrForm['category_id'],
);
SC_Response_Ex::sendRedirect(CART_URL, $arrQueryString);
SC_Response_Ex::actionExit();
}
$js_fnOnLoad .= $this->lfSetSelectedData($this->arrProducts, $this->arrForm, $arrErr, $target_product_id);
} else {
// カート「戻るボタン」用に保持
$netURL = new Net_URL();
//該当メソッドが無いため、$_SESSIONに直接セット
$_SESSION['cart_referer_url'] = $netURL->getURL();
}
$this->tpl_javascript .= 'function fnOnLoad() {' . $js_fnOnLoad . '}';
$this->tpl_onload .= 'fnOnLoad(); ';
}
}
因みに1ページに納まらない商品数がある場合には2ページ、3ページにエラーはありません。
どなたかこの原因がお分りになる方はいらっしゃいませんか?
----------------