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

Re: トップページにログインフォームを作成したい

n1215 > Re: トップページにログインフォームを作成したい @ 2014/8/8 12:18
kemshim 様

baserCMS(ないしCakePHP)ではURLごとに対応するView(テンプレート)が存在することはご存知ですよね?
テーマに含まれるテンプレートファイルが優先で、テーマに該当するファイルがない場合は
・baserCMSコア lib/Baser/View/以下
・プラグイン lib/Baser/Plugin/{プラグイン名}/View以下
などからテンプレートが選ばれます。

詳細は
ファイル読み込みの優先順位 http://basercms.net/manuals/3/programmers/3.html
をご覧ください。

●ログイン画面のテンプレート
会員ログイン画面は下記URLの通りに実装されているということでいいんですよね?
http://forum.basercms.net/modules/newbb/viewtopic.php?topic_id=1525&forum=5#forumpost5760
baserCMS自体もCakePHP上に構築されていますので、
管理画面やログイン画面にもトップページやブログ投稿のページと同じようにViewテンプレートが存在します。

管理者ログイン画面(http://example.com/admin/users/login) ⇒ lib/Baser/View/Users/admin/login.php
会員ログイン画面(http://example.com/mypage/members/login) ⇒ lib/Baser/View/Members/mypage/login.php

となっています。これらの画面にはすでにログインフォームがありますよね?
なので、これらのページのテンプレートを参考にして真似してはいかがでしょうかということです。

会員ログイン画面のテンプレートには
lib/Baser/View/Members/mypage/login.php

include BASER_VIEWS . 'users' . DS . 'admin' . DS . 'login.php';

とありますが、これは管理者ログイン画面のテンプレートをそっくりそのまま利用している、というだけです。

そして、管理者ログイン画面のテンプレートがこちらです。これが一番参考になるテンプレートとなります。
lib/Baser/View/Users/admin/login.php
https://github.com/baserproject/basercms/blob/dev-3/lib/Baser/View/Users/admin/login.php
長いので全部は掲載しませんが、14〜22行目で$userModelと$userControllerという変数に値が代入されています。

14 if ($this->Session->check('Message.auth')) { 
15 	$this->Session->flash('auth'); 
16 } 
17 $userModel = Configure::read('BcAuthPrefix.' . $currentPrefix . '.userModel'); 
18 if (!$userModel) { 
19 	$userModel = 'User'; 
20 } 
21 list(, $userModel) = pluginSplit($userModel); 
22 $userController = Inflector::tableize($userModel); 

23〜40行目がCSS
42〜122行目までがクレジットの表示などを設定しているJavaScript
そして貴方が掲載しているコードは128〜157行目に相当しますね。
128〜157行目には$userModelと$userControllerという変数が何回か利用されていますが、
この部分をコピー&ペーストするだけではその2つの変数は何も設定されていない、というわけです。

変数を設定するには14〜22行目と同じ処理をトップページのテンプレートにも書く必要があります。

Twitter: @n_1215

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


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

検索

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

フォーラムガイド


関連リンク

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

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