どうも開発中のサイトを外に見せたくないですね。
basic認証や.htaccessにIP制限などで外からの閲覧が防止できます。
ところで、IP制限などの場合(特定IPのみ許可する)、内部ユーザは家庭ネットワークのよく変わるIPからのアクセスもできなくなってしまう。
インタネットでログインチェックかける記事が沢山あります。その中のある方法を試したが、ページの左メニューは未ログイン状態も見える。
まぁ、右側のページのメインコンテンツが隠されたから、・・・・・
今回は別の方法でEccubeの全ページにログインチェックを入れる。(2 steps)
先ず、data/class_extends/page_extends/LC_Page_Ex.phpに以下のコードを追加してください。
/**
* 全ページをログインチェックを実施する。TODO 削除予定
* @see LC_Page::init()
*/
public function init()
{
parent::init();
// ログイン判定
$objCustomer = new SC_Customer_Ex();
if ($objCustomer->isLoginSuccess() === true) {
$this->tpl_login = true;
}
}
これで、商品詳細や注文ページに、未ログイン状態のユーザに内容を隠すことができました。
しかし、トップページはまるで見える状態です。
それでは、step 2で、data/Smarty/templates/default/site_frame.tpl
に以下のロジックを入れる。
{** もとのソースは:<!--{include file='./site_main.tpl'}--> **}
<!--{if $tpl_login}-->
<!-- ▼BODY部 スタート -->
<!--{include file='./site_main.tpl'}-->
<!-- ▲BODY部 エンド -->
<!--{else}-->
<!-- 全ページログインチェック実施。TODO 削除予定 -->
<!--{include file='./header.tpl'}-->
<!--{/if}-->
これによって、すでにログインの場合、従来のままで表示しますが、
未ログインの時、ページのヘッダーのみ表示する。(ログインブロックをヘッダーに入れてください。そうしないと、サイトを永遠にログインできないから)
以上で、全ページにログインチェックを入れました
♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。
zanmai @2016年03月31日
» ①②③④の順で設定できるはず。…