Web Design Office スタジオビートル―滋賀県草津市のWeb制作会社

ホームページやECサイトなどWebサイト制作のお問い合わせはこちら077-566-3365

いろいろメモ帳Memos

プログラム関連Program

【EC-CUBE2.13.1】1つのEC-CUBEで複数のテンプレートを切り替える

2013年12月24日
タグ:EC-CUBE2.13.1,template_code
投稿者:Webディレクター 藤居
【EC-CUBE2.13.1】1つのEC-CUBEで複数のテンプレートを切り替える
今回、EC-CUBE用テンプレート販売サイトをEC-CUBEレスポンシブデザインテンプレート販売サイトとしてリニューアルしましたっ

テンプレートのイメージ写真だけでは、分かりにくいと思い

各テンプレートのデモサイトをご覧いただけるようにしてみましたっ

ただ、各テンプレートごとにEC-CUBEをインストールするのでは、作業効率も悪いし、

サーバに余計は負荷も掛けるだけなので、テンプレートコードをフォームで送り、

そのコードでテンプレートを判定させるようにしましたっ!

/data/config/config.php の最後に以下を追加!

$template_code=$_POST['template_code'];
define('TEMPLATE_NAME', $template_code);

お~!

無事、意図したテンプレートに切り替わっているっ!

ちなみに、商品カテゴリーページは・・・

む・・・

何も表示されない・・・

あっ!

テンプレートコードを受け渡せていないからか~

とりあえず、$_SESSION[]に入れてみるか・・・

session_start(); //先頭に追加








if(!empty($_POST['template_code'])){
    $_SESSION['template_code']=$_POST['template_code'];
}
if(!empty($_SESSION['template_code'])){
    define('TEMPLATE_NAME', $_SESSION['template_code']);
}

お~っ!

これで、どのページに遷移しても問題ナス!!

はっ、管理画面は・・・

むっ

$_SESSION[’template_code’]が残っているのに、管理画面を呼び出そうとしてるからか
システムエラーを起こしているようだ・・・(。。

/admin/以下にアクセスする場合は、session_start();を無視させようっ

session_start();







if(!strpos($_SERVER['REQUEST_URI'], 'admin')){ 
    if(!empty($_POST['template_code'])){
        $_SESSION['template_code']=$_POST['template_code'];
    }
    if(!empty($_SESSION['template_code'])){
        define('TEMPLATE_NAME', $_SESSION['template_code']);
    }
}

これで、意図した通りテンプレートを切替でき、管理画面も無事に正常に動作しましたっ!

とりあえず、目的の動作をさせる為にやってみましたが

次は、もうちょっとスマートに出来ないか調べますっ(。。
あなたのホームページを無料診断します!ホームページ診断
WEBデザイナー&プログラマー求人募集
正当なCSSです!
レスポンシブデザインテンプレート販売サイトEC|TEMPLATES
TOP