新規ページを追加するとSC_Utils_Ex::sfChangeCheckBox()のエラーが出るときの対処法
EC-CUBEで新規ページを追加するときに、次のようなエラーが出ることがあります。
Fatal error: Call to undefined method SC_Utils_Ex::sfChangeCheckBox() in /xxxx/data/class/pages/admin/design/LC_Page_Admin_Design_MainEdit.php on line 270
これは過去に存在した SC_Utils_Ex::sfChangeCheckBox() がなくなっているためで、バージョン2.11.0で起こります。
バージョン2.11.1では修正されているとのこと。
対処法としては、バージョン2.11.1以上にするか、SC_Utils_Ex::sfChangeCheckBox()を使用しないように変更します。
SC_Utils_Ex::sfChangeCheckBox()が書かれているコードは下記の部分になります。
/data/class/pages/admin/design/LC_Page_Admin_Design_MainEdit.php
function lfGetUpdData($device_type_id, $page_id, $page_name, $filename, $header_chk, $footer_chk) { $arrUpdData = array( 'header_chk' => SC_Utils_Ex::sfChangeCheckBox($header_chk), // ヘッダー使用 'footer_chk' => SC_Utils_Ex::sfChangeCheckBox($footer_chk), // フッター使用 'update_url' => $_SERVER['HTTP_REFERER'], // 更新URL 'update_date' => 'now()', ); // ベースデータの場合には変更しない。 if (!$this->objLayout->lfCheckBaseData($page_id, $device_type_id)) { $arrUpdData['page_name'] = $page_name; $arrUpdData['url'] = $filename . '.php'; $arrUpdData['filename'] = $filename; // 拡張子を付加しない } return $arrUpdData; }
ここを修正する方法と、class_extends側にコードを追加する方法があります。
一概にどちらがいいともいえません。
バージョン2.11.0を使い続けるならclass_extends側に、安定版が出るごとにアップグレードするならclass側に書くべきだと思います。
/data/class_extends/page_extends/admin/design/LC_Page_Admin_Design_MainEdit_Ex.php
function lfGetUpdData($device_type_id, $page_id, $page_name, $filename, $header_chk, $footer_chk) { $arrUpdData = array( 'header_chk' => $header_chk, // ヘッダー使用 'footer_chk' => $footer_chk, // フッター使用 'update_url' => $_SERVER['HTTP_REFERER'], // 更新URL 'update_date' => 'now()', ); // ベースデータの場合には変更しない。 if (!$this->objLayout->lfCheckBaseData($page_id, $device_type_id)) { $arrUpdData['page_name'] = $page_name; $arrUpdData['url'] = $filename . '.php'; $arrUpdData['filename'] = $filename; // 拡張子を付加しない } return $arrUpdData; }
関連記事
- PostgreSQLでERROR: duplicate key value violates unique constraint "hoge_pkey" DETAIL: Key (id)=(10) already exists.と出る場合
- PostgreSQLで自動採番をするシーケンス(sequence)とは【AUTO INCREMENT】
- EC-CUBE2系で商品を大量にカートに入れると注文情報が抜けたりカートが消えたりする
- EC-CUBEのダウンロードページ(過去のバージョン)
- PostgreSQLからMySQL、MySQLからPostgreSQLの変更
- EC-CUBEのサーバ移行の方法
- EC-CUBEのバックアップ機能とリストア
- EC-CUBEでMySQLデータベースのデータ取得で文字化けするときの対処法
- ページごとのスタイルシート、JavaScriptを指定する方法
- テンプレートの編集
- カテゴリ名など文字列を丸めると文字化けする EC-CUBEのバグ
- 基本的な特徴
- DB設計を見直してEC-CUBEを高速化する
- 郵便番号データの登録/更新
- インストール 初期設定
- EC-CUBE
スポンサーリンク