12月 9日, 2011年 - IT    コメントはありません。

EC-CUBE2.11.4 管理画面からの新規ページ作成方法(500エラー回避方法)

Pin It画像があってPinしたい場合押して下さいね。

さて、最近EC-CUBE2.11.4を触っているわけですが、ポチポチしながら、携帯サイトとスマホサイトは、ほぼ終了(とりあえずの満足感のある感じ)しました。
でもって、PCサイトに着手しようかなと思っています。
ザクっと書くと、TOPページは1カラムでjqueryでグローバルメニュー作って、そのメニューから各ページに移動しようかなと・・・
で、その移動先のページを新たに作ろうと思い、何も考えずに、EC-CUBE2.11.4の管理画面から

デザイン管理>PC>ページ詳細設定

でページの新規作成をしたわけです。

すると・・・

500エラーです。 _| ̄|○ 

意味がわかりません・・・

仕方ないので、FTPで見て見ると、ファイル自体は作られていました。
まんざら新規ページ作成自体は問題ないらしい・・・
但し、表示(ブラウザで見れない)されない!!!

まぁ、これが仕様なのかもしれませんけど・・・
でもそれでは困るので、以下にて対処しました。

簡単な一連の流れとして・・・

①:【data/class/helper/SC_Helper_FileManager.php】の342行目付近を見て頂いて

  /**
     * ファイル書込を行う.
     *
     * @param string $filename ファイルパス
     * @param string $value 書き込み内容
     * @return boolean ファイルの書き込みに成功した場合 true
     */
    function sfWriteFile($filename, $value) {
        if (!is_dir(dirname($filename))) {
            SC_Utils_Ex::recursiveMkdir(dirname($filename), 0777);
        }
        $fp = fopen($filename,’w’);
        if ($fp === false) {
            return false;
        }
        if (fwrite($fp, $value) === false) {
            return false;
        }
  chmod($filename, 0644); //←この行を追加
        return fclose($fp);;
    }

こんな感じに書き直します。

【メモ】
そもそも、この似たような現象はEC-CUBE2.4系の時も下記のファイル
data/class/pages/admin/design/LC_Page_Admin_Design_MainEdit.php
にあったみたいですけど、今回は対象となるファイルが違います。

②:EC-CUBE2.11.4の管理画面から普通にページを作る。

これで問題なく表示されると思います。

①⇒②の順番で行って下さい。
②⇒①ではダメなの?

やればわかります。

①のパーミッション【0644】当たりはお好みで【777】とかでも・・・・
ええ、自己責任でよろしくお願いします。
直ちに影響はありません。
ヽ(*´∀`)ノ

これからPCサイト側を触って、動作確認とかするわけですが、色々と楽しいことがあるかも知れませんね・・・
(;・`д・´)  

ではでは、こんなことが役に立ちますように・・・・



なにかご意見があればコメントを書いて下さい。