バージョン選択

フォーラム

メニュー

オンライン状況

33 人のユーザが現在オンラインです。 (28 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 33
もっと...

サイト内検索

質問 > フロント機能 > トップページでのログイン判定について

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
kjt
投稿日時: 2010/5/15 1:06
対応状況: −−−
新米
登録日: 2010/3/21
居住地:
投稿: 7
トップページでのログイン判定について
---------------------------------------------------------------
EC-CUBE :ナイトリービルド版 2.4.2-comu(eccube-comu-r18615)
PHP : 5.1.6
DB : PostgreSQL 8.4.3
OS : CentOS5.4
WebServer: Apache/2.2.3
Blowser: Google Chrome 5.0.375.38 beta
----------------------------------------------------------------

初めまして。
いつもこの開発コミュニティにとても助けられていますが、自力で解決することができなかったので初めて投稿させていただきました。

予め会員登録をした人にのみ公開するようなECサイトを設計しようとしています。つまり、トップページにアクセスした時にログイン画面のみが表示され、そこで認証が成功した場合のみ従来のようなトップページが表示されるといったものです。

 ・初回アクセス時、ログイン画面のみが表示される
 ・ログイン後、ログアウトのみができる
 ・ログアウト時、トップページに戻りログイン画面が表示される

loginブロックのソースを読んだり似たような事例を検索したところ、変数tpl_loginによる分岐が該当する解決方法になるかと思います。(参考にした過去ログは、http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=5325&forum=11 、 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=1388&forum=10 などです。)
そこでindex.phpを参照してソースを追ったところ、TOPページのBODY部分はsite_main.tplによっているとのことだったので、まずこれを最後に添付した様に編集しました。概要は次の様なイメージです。

site_main.tplの編集概要
 <!--{if $tpl_ogin}-->
 ヘッダ、コンテンツ
 <!--{else}-->
 login.tplよりほぼコピーしてきたログインブロック
 <!--{/if}-->
 フッタ


しかしこれだけでは、トップページに表示されるのはログインブロック(とフッタ)だけになるものの、実際アドレスとパスワードを入力しても期待した通り従来のトップページへと遷移しません。以下のようなページに遷移してしまいます。
 ページタイトル: [店名] / エラー
 URL: http://******/frontparts/login_check.php

試しにtpl_loginをvar_dumpしてみたところ、NULLと表示されていましたのでこれが原因なのでしょうか。
tpl_loginへのログイン判定結果の格納されていないのかと思い過去ログを参照して、以下をLC_Page_Index.phpの65行目に追加してみましたが、結果は変わりませんでした。

 // ログイン判定
 $objCustomer = new SC_Customer();
 if($objCustomer->isLoginSuccess()) {
      $this->tpl_login = true;
 }

何か見当違いなことをしているのかもしれませんが、冒頭に示したようなサイトを実現するにはどうすればよいでしょうか。解決に向けてアドバイスいただければ大変うれしいです。
よろしくお願いいたします。


site_main.tpl(編集後、非変更部分で多少省略しています)
 <!--{*
 EC-CUBEのライセンス
  *}-->
 <body onload="preLoadImg('<!--{$TPL_DIR}-->'); <!--{$tpl_onload}-->">
 <!--{* A8タグ表示用 *}-->
 <!--{if "sfPrintA8Tag"|function_exists === TRUE}-->
 <!--{include file=`$smarty.const.MODULE_PATH`mdl_a8/print_a8_tag.tpl}-->
 <!--{/if}-->
 
 <!--{$GLOBAL_ERR}-->
 <noscript>
   <p>JavaScript を有効にしてご利用下さい.</p>
 </noscript>
 
 <a name="top" id="top"></a>
 
 <!-- ここから追加 -->
 <!--{if $tpl_login}-->
 <!--ここまで追加-->
 
 
 <!--{* ▼HeaderHeaderTop COLUMN*}-->
  HeaderHeaderTop CLUMNの中身
 <!--{* ▲HeaderHeaderTop COLUMN*}-->
 <!--{* ▼HEADER *}-->
 <!--{if $arrPageLayout.header_chk != 2}-->
 <!--{include file= $header_tpl}-->
 <!--{/if}-->
 <!--{* ▲HEADER *}-->
 
 <!--{* ▼CONTENTS *}-->
 コンテンツ中身
 <!--{* ▲CONTENTS *}-->
 
 
 <!-- ここから追加2 -->
 <!--{else}-->
 <!--▼ログインここから-->
 <h2>
   <img src="<!--{$TPL_DIR}-->img/side/title_login.jpg" width="166" height="35" alt="ログイン" />
 </h2>
   <div id="loginarea">
     <form name="login_form" id="login_form" method="post" action="<!--{$smarty.const.SSL_URL}-->frontparts/login_check.php" onsubmit="return fnCheckLogin('login_form')">
       <input type="hidden" name="mode" value="login" />
       <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
       <input type="hidden" name="url" value="<!--{$smarty.server.PHP_SELF|escape}-->" />
       <div id="login">
         <p><img src="<!--{$TPL_DIR}-->img/side/icon_mail.gif" width="40" height="21" alt="メールアドレス" /><input type="text" name="login_email" class="box96" value="<!--{$tpl_login_email|escape}-->" style="ime-mode: disabled;"/></p>
         <p><img src="<!--{$TPL_DIR}-->img/side/icon_pw.gif" width="40" height="22" alt="パスワード" /><input type="password" name="login_pass" class="box96" /></p>
       </div>
         <p class="mini">
           <a href="<!--{$smarty.const.SSL_URL|sfTrimURL}-->/forgot/<!--{$smarty.const.DIR_INDEX_URL}-->" onclick="win01('<!--{$smarty.const.SSL_URL|sfTrimURL}-->/forgot/<!--{$smarty.const.DIR_INDEX_URL}-->','forget','600','400'); return false;" target="_blank">パスワードを忘れた方はこちら</a>
         </p>
         <p>
           <input type="checkbox" name="login_memory" value="1" <!--{$tpl_login_memory|sfGetChecked:1}--> />
           <img src="<!--{$TPL_DIR}-->img/header/memory.gif" width="18" height="9" alt="記憶" />
         </p>
         <p class="btn">
           <input type="image" onmouseover="chgImgImageSubmit('<!--{$TPL_DIR}-->img/side/button_login_on.gif',this)" onmouseout="chgImgImageSubmit('<!--{$TPL_DIR}-->img/side/button_login.gif',this)" src="<!--{$TPL_DIR}-->img/side/button_login.gif" class="box51" alt="ログイン" name="subm" />
         </p>
         <!--ログインフォーム-->
     </form>
   </div> 
 <!--▲ログインここまで-->
 <!--{/if}-->
 <!--ここまで追加-->
 
 <!--{* ▼FOTTER *}-->
 <!--{if $arrPageLayout.footer_chk != 2}-->
 <!--{include file=$footer_tpl}-->
 <!--{/if}-->
 <!--{* ▲FOTTER *}-->
 <!--{* ▼FooterBottom COLUMN*}-->
 FooterBottomの中身
 <!--{* ▲FooterBottom COLUMN*}-->
 
 <!--{* EBiSタグ表示用 *}-->
 <!--{$tpl_mainpage|sfPrintEbisTag}-->
 <!--{* アフィリエイトタグ表示用 *}-->
 <!--{$tpl_conv_page|sfPrintAffTag:$tpl_aff_option}-->
 </body>
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » トップページでのログイン判定について kjt 2010/5/15 1:06
     Re: トップページでのログイン判定について kjt 2010/5/16 6:32
       Re: トップページでのログイン判定について seasoft 2010/5/16 11:08
         Re: トップページでのログイン判定について ゲスト 2010/5/16 17:06
           Re: トップページでのログイン判定について kjt 2010/5/17 2:23
             Re: トップページでのログイン判定について kjt 2010/5/17 2:32
               マスタログイン 会員制 Re: トップページでのログイン判定について ゲスト 2010/5/17 9:51
                 Re: トップページでのログイン判定について kjt 2010/5/17 18:36
                   Re: トップページでのログイン判定について kjt 2010/5/17 18:38
                 Re: トップページでのログイン判定について ゲスト 2010/5/17 18:55
                   Re: トップページでのログイン判定について ゲスト 2010/5/17 20:20
             Re: トップページでのログイン判定について seasoft 2010/5/17 2:55

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,167名です
総投稿数は110,047件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1650
8
red
1570
9
mcontact
1299
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.