バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > ページ遷移について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
000
投稿日時: 2020/9/30 13:53
対応状況: −−−
常連
登録日: 2020/1/29
居住地:
投稿: 50
ページ遷移について
[EC-CUBE]2.13.5

ログインをしているかしていないかを判定し、ログインをしていなければ必ずログインページ(トップページも表示しない)に遷移をさせたいと思っております。
引用:
LC_Page_Exのinitに
if($this->tpl_login == false){
SC_Response_Ex::sendRedirect(ログインページ.tpl);
}

と処理を記載しているのですがうまく遷移できません。

動作としましてはURLにアクセスした際に
ログインされていればトップ画面
ログインされていなければログイン画面に必ず遷移するようにしたいです。
ちなみにログインされていない状態で商品ページのURLにアクセスしようとした際もログインページに強制的に遷移させたいです。


2020/10/1 追記
LC_Page_Index_Exのinitに
引用:

if($this->tpl_login == false){
SC_Response_Ex::sendRedirect(ログインページ.tpl);
}

こちらのソースを記載したところ、ログインしていない場合はログインページに遷移させることはできました。
しかし、ログインされていない状態で商品ページのURLにアクセスしようとするとページが閲覧できてしまうため
やはり、どうにかしてLC_Page_Exにて制御すべきなのかなと思っております。
ちなみにLC_Page_Exに記載すると、ERR_TOO_MANY_REDIRECTSのエラーが出てしまいページが開けない状況です。
000
投稿日時: 2020/10/1 16:10
対応状況: 解決済
常連
登録日: 2020/1/29
居住地:
投稿: 50
Re: ページ遷移について
こちら解決いたしました。

原因として、LC_Page_Exにて制御した結果
遷移後もLC_Page_Exの処理を通るため
永遠にループを繰り返してしまった結果起こったものでした。

引用:
// 〇〇のページは閲覧可能
$array = array(ROOT_URLPATH.'〇〇.php');
$key = array_search($_SERVER['SCRIPT_NAME'], $array);
if($key === false){
// 表示対象がログインページか判定する
$url = htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, 'UTF-8');
if (strpos($url, 'ログイン.php') == false) {
// ログイン画面へリダイレクト
SC_Response_Ex::sendRedirectFromUrlPath('ログイン.php');
SC_Response_Ex::actionExit();
}
}


以上の処理で問題なく動作しました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は66,433名です
総投稿数は98,294件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2643
4
nanasess
2103
5
umebius
1742
6
yuh
1612
7
red
1424
8
h_tanaka
1041
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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