2022.1.4|EC-CUBE

EC-CUBE(イーシーキューブ)でページの編集が出来ないバグ(エラー)の修正方法

EC-CUBE(イーシーキューブ)でページの編集が出来ないバグ(エラー)の修正方法

EC-CUBE(イーシーキューブ)では、古いバージョンを利用しているとバグやエラーが発生する場合があります。
管理画面からデザインの変更の中のページの編集を行った際、画面が真っ白になるバグ(エラー)が発生します。
今回は、EC-CUBE(イーシーキューブ)でページの編集が出来ないバグ(エラー)の修正方法を解説します。

EC-CUBEでページの編集が出来ないバグ(エラー)の修正方法

このバグ(エラー)を修正するには「data」フォルダ内のファイルを修正します。
※Version 2.11.0

1.main_edit.tplファイルのコードを修正

ページ編集ファイルを開きます。
ファイルを開いたらコードを変更します。
/data/Smarty/templates/admin/design/main_edit.tpl

「main_edit.tpl」ファイル変更前のコード

※ファイル内から以下のコードを探します。

<label for="header-chk"><input id="header-chk" name="header_chk" type="checkbox"><!--{if $arrPageData.header_chk != "2"}-->checked="checked"<!--{/if}--> />共通のヘッダーを使用する</label>
<label for="footer-chk"><input id="footer-chk" name="footer_chk" type="checkbox"><!--{if $arrPageData.footer_chk != "2"}-->checked="checked"<!--{/if}--> />共通のフッターを使用する</label>
「main_edit.tpl」ファイル変更後のコード

※ファイル内から上記のコードを探したら次のコードに書き換えてます。

<label for="header-chk"><input id="header-chk" name="header_chk" type="checkbox" value="1"><!--{if $arrPageData.header_chk == "1"}-->checked="checked"<!--{/if}--> />共通のヘッダーを使用する</label>
<label for="footer-chk"><input id="footer-chk" name="footer_chk" type="checkbox" value="1"><!--{if $arrPageData.footer_chk == "1"}-->checked="checked"<!--{/if}--> />共通のフッターを使用する</label>

2.LC_Page_Admin_Design_MainEdit.phpファイルのコードを修正

デザインファイルを開きます。
ファイルを開いたらコードを変更します。
/data/class/pages/admin/design/LC_Page_Admin_Design_MainEdit.php

「LC_Page_Admin_Design_MainEdit.php」ファイル変更前のコード

※ファイル内から以下のコードを探します。

$_POST['header_chk'],
$_POST['footer_chk']
「LC_Page_Admin_Design_MainEdit.php」ファイル変更後のコード

※ファイル内から上記のコードを探したら次のコードに書き換えてます。

intval($_POST['header_chk']) === 1 ? 1 : 2,
intval($_POST['footer_chk']) === 1 ? 1 : 2

上記と同じデザインファイルを開きます。
ファイルを開いたらコードを変更します。
/data/class/pages/admin/design/LC_Page_Admin_Design_MainEdit.php

「LC_Page_Admin_Design_MainEdit.php」ファイル変更前のコード

※ファイル内から以下のコードを探します。

SC_Utils_Ex::sfChangeCheckBox($header_chk),  // ヘッダー使用
SC_Utils_Ex::sfChangeCheckBox($footer_chk),  // フッター使用
「LC_Page_Admin_Design_MainEdit.php」ファイル変更後のコード

※ファイル内から上記のコードを探したら次のコードに書き換えてます。

$header_chk,  // ヘッダー使用
$footer_chk,  // フッター使用

まとめ

EC-CUBE(イーシーキューブ)では、古いバージョンを利用しているとバグやエラーがいくつか出る恐れがあります。
出来る限り最新バージョンに切り替えることをおすすめします。