■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

会員専用の日本語ページと英語ページに、同じID_PWで、ログイン画面は別 でログインしたい。

Coo > 会員専用の日本語ページと英語ページに、同じID_PWで、ログイン画面は別 でログインしたい。 @ 2015/4/2 18:37
たぶん認証プレフィックス機能がうまく理解できていないのだと思います・・・ご教授ください。

先日、v3.0.7にUPしたのですが、それまでv3.0.6で日本語の会員専用ブログを用意し正常作動していました。
今回、英語の会員専用ブログも追加することになりました。

どちらも今までの日本語ブログと同じ ID/PW で見れるようにしたいのですが、
ログイン画面は 日本語ブログ⇒日本語ログイン画面 英語ブログ⇒英語ログイン画面 と表示したいです。

用意されている認証プレフィックス設定を利用し
front :日本語、mypage :英語
と割り当て、ユーザーグループの認証プレフィックスで両方をチェックし(v.3.0.7の新機能)
なんとか想定動作は実現できました。

が、ログイン画面のデザインが異なってしまいます。
日本語・・・メニュー、フッダが表示される 
※キャプチャ1


英語(今回追加)・・・メニュー、フッダが表示されないシンプルな画面
※キャプチャ2


ログイン画面のデザインを同じにするには、どうしたら良いでしょうか。

■調整した箇所
▽認証プレフィックス設定 で front,mypage を有効にする
app/Config/setting.php

 // フロント(例)
 'front' => array(
  // 認証設定名
   'name'   => '会員専用',
  // 認証後リダイレクト先
   'loginRedirect' => '/member_contents/index',
  // ログイン画面タイトル
  'loginTitle' => '会員専用ページ',
  // モデル
   'userModel'  => 'User',
  // ログインページURL
   'loginAction' => '/users/login',
  // ツールバー利用
   'toolbar'  => false,
  // セッションキー
   'sessionKey' => 'Front'
 ),
 // マイページ(例)
 'mypage' => array(
  // 認証設定名
   'name'   => 'MemberOnly',
  // URLにおけるエイリアス
 //   'alias'   => 'mypage',
  // 認証後リダイレクト先
   'loginRedirect' => '/e_member_contents/index',
  // ログイン画面タイトル
   'loginTitle' => 'Member Only',
  // モデル
   'userModel'  => 'Member',
  // ログインページURL
   'loginAction' => '/mypage/members/login',
  // ツールバー利用
   'toolbar'  => false,
  // セッションキー
   'sessionKey' => 'Mypage',
 )


▽User 用のログイン画面の調整。
/bcms/lib/Baser/View/Users/admin/login.php

画面タイトル を固定にし、PW問い合わせを削除する。

※v3.0.6 では
テーマ/Users/login.php
にコピーして調整していたのですが、今回デザインが崩れました。
画面上部に表示されるべきメニューが、ログインボタンの下、フッダのすぐ上に表示されてしまいます。
 ※キャプチャ3


全く同じファイルなのですが、コアファイルと置き換えたところ
デザインが正しく表示されたので、それで回避している状況です。

▽mypage 用のログイン画面の調整。
テーマ/Members/mypage/login.php

/bcms/lib/Baser/View/Members をテーマにコピー。
画面タイトル、アカウント、パスワード を英語表記にし、PW問い合わせを削除する。

▽直接ブログにアクセスされた場合、未ログインの場合はログイン画面を表示
テーマ/Layouts/default.php (日本語ページ用),e_default.php (英語ページ用に用意したもの)

ページ先頭に追記。

 <?php
 // 簡易認証:(メンバーページログイン)
 $text = $_SERVER['REQUEST_URI'];

 $epat = '/e_member_contents/';
 $pat = '/member_contents/';

 if(preg_match($epat,$text)){
     //未ログイン だったら  英語ログイン にリダイレクト
     if(!isset($this->viewVars['user'])){
       header("Location: ../mypage/members/login");
     }
 }elseif(preg_match($pat,$text)){
     //未ログイン だったら  日本語ログイン にリダイレクト
     if(!isset($this->viewVars['user'])){
       header("Location: ../users/login");
     }
 }
 ?>

※参照ページ:
デザイナーさんでも出来る! baserCMS のプレフィックス認証機能を使ったログイン画面の作り方


▽管理ツールでユーザーグループの認証プレフィックス設定。
「 会員専用」「MemberOnly」にチェック。

※すでに登録してあったユーザーグループの、認証プレフィックスを変更しました。
なお、新規ユーザーグループを作れませんでした。どう入力してもエラーになります。
「入力エラーです。内容を修正してください。 認証プレフィックスを入力してください。」

▽このユーザーグループに、ユーザーアカウント「member」が登録済です。
※実装済だった日本語会ブログ用のアカウントです。

できれば、日本語ログインのデザインにしたいですが、英語ログインのデザインでも構いません。

よろしくお願いします。

■ BaserCMSのバージョン:3.0.6.1→3.0.7
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用:ON
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:SQLite

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
5 人のユーザが現在オンラインです。 (4 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 5