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

baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか?

 

 1  |  2   | 次のページ>

kenecy > baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/8 19:27
はじめまして。
会員制サイトを出来るだけ安く早くしかもキレイに立ち上げたくて色々なCMSを探していたらbaserCMSを見つけました。
早速昨日よりトライし始めたのですが、過去の投稿「会員制サイトの構築」
http://forum.basercms.net/modules/newbb/viewtopic.php?viewmode=thread&order=DESC&topic_id=681&forum=5
を見ますと2012年のver2系時点での情報となっています。
これらの情報はver3系でもそのまま使用できるものでしょうか?
分かる範囲で構いませんので、アドバイスよろしくお願い致します。

■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名:さくらインターネット
■ スマートURLの利用:OFF
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:MySQL

goichi > Re: baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/8 22:48
どんな感じの会員システムにするかによりそうですが、プレフィックス認証機能自体はver.3でもバッチリ存在していますので、過去記事も参考にはなると思います(ただし、CakePHPのメジャーバージョンが変わるなど、大きな変更もありますので、コード等はそれに合わせた書き方になると思います)。

ただ、会員システムにかぎらずCakePHPのバージョンが現行バージョン(2.x)になったことで、色々と情報を集めやすくなったかも知れません。baserCMSそのものの情報でなくとも、CakePHPの情報があれば基本的に適用できると思いますよ(^^
kenecy > Re: baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/9 11:11
goichiさん。早速のアドバイスをありがとうございます。

どんな感じの会員制サイトかについてですが、マンションの管理組合向けのサイトで以下のようなものを考えています。
・トップページをログイン画面にして、部屋番号毎のIDとパスワードで住民と関係者以外は一切の内容が見られないクローズドサイト。
・コンテンツはマンション管理規約や理事会議事録、住民へのお知らせなどを掲載。
・理事会や管理会社/管理人さんへの要望や問い合わせなどが行える機能。
・マンション内のイベント開催やコミュニティ形成に役立てられる機能。
・可能であれば、集会室などの共有施設の予約や予約状況表示などが行える機能。
・将来的には住民アンケートなどもできるようにしたい。
といった感じで欲張ってますが、まずは上3つぐらいを実現したいと考えています。

なるほど、CakePHPのメジャーバージョンも変わっていたのですね…。
これまでいわゆるLAMP環境でサイトを構築してきたのですが、実はCakePHPを使うのも初めてなのです…。^_^;
その為少し戸惑いはありますが、頑張ってやってみます。

実際にやってみてまた何かわからないことがあれば質問させて頂くかもしれません。
その際はどうぞよろしくお願いします。

■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名:さくらインターネット
■ スマートURLの利用:OFF
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:MySQL

kenecy > Re: baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/9 14:23
すみません。
早速試してみましたところ、いきなり詰まってしまいました…。(-_-;)

まずは「マイページ用のログイン認証を簡単に作る方法」を見て
順番に実行していこうと思ったのですが、「/baser/config/baser.php をコピーして・・・」と書いてあるのですが、
”basercms-3.0.2.zip”を展開した中を全て検索しても”baser.php”が見つかりません。

やはりメジャーバージョンが異なると、フォルダ構成やファイル名などが結構違うという事でしょうか…?

恐れ入りますが、どなたかアドバイス頂けないでしょうか。
よろしくお願い致します。

■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名:さくらインターネット
■ スマートURLの利用:OFF
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:MySQL

goichi > Re: baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/9 14:51
/lib/Baser/Config/setting.php 100行目付近にプレフィックス認証について書いてあります。
ファイルやフォルダ構成は、前バージョンと異なる部分が出てきてしまいますが、プレフィックス認証の仕組みは同じように思います(本当にコアな部分はわかりませんが、使い方は一緒かなと。)。いろいろと他のファイルや似たような名前のもの、フォルダを見ながらやると良いかもしれません。
kenecy > Re: baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/9 18:11
goichiさん。またまた早速のアドバイスをありがとうございます。

教えて頂いた情報から、過去の「会員制サイトの構築」の情報を読み替えて以下のように実行してみました。

(1)/lib/Baser/Config/setting.php をコピーして、/app/Config/setting.php として保存。
(2)コピーした setting.php の 129行目から137行目の'mypage'部分のコメントを外す。
(3)管理画面からマイページ用ユーザーグループを作成し、「認証プレフィックス」に「マイページ」を選択して保存。
(4)管理画面からマイページ用ユーザーを作成し、マイページ用ユーザーグループを選択して保存。
(5)/mypage/members/login にアクセスすると、
 Warning (2): include(/***/lib/Baser/View/users/admin/login.php) [function.include]: failed to open stream: No such file or directory [CORE/Baser/View/Members/mypage/login.php, line 21]
 Warning (2): include() [function.include]: Failed opening '/***/lib/Baser/View/users/admin/login.php' for inclusion (include_path='.:/usr/local/php/5.2.17/lib/php') [CORE/Baser/View/Members/mypage/login.php, line 21]
 というエラーメッセージが表示される。
(6)/lib/Baser/View/Membsers/mypage/login.php の21行目を
 include BASER_VIEWS . 'users' . DS . 'admin' . DS . 'login.php';
 から
 include BASER_VIEWS . 'Users' . DS . 'admin' . DS . 'login.php';
 に変更する。
(7)再度/mypage/members/login にアクセスすると、無事マイページログインが表示される。
(8)作成したマイページ用ユーザーでログインすると、/mypage/members/editが表示される。
(9)/mypage/members/logout でログアウトも可能。

途中(5)のエラーで少し引っ掛かりましたが、それ以外はver3になってより簡単(ファイルが用意されている)になっていました。
ちなみに(6)で/lib/配下のファイルは直接変更しましたが、これは別に問題ないでしょうか?

というわけで、なんとか無事にユーザーログイン処理を行うことができるようになりました。
ありがとうございました。

■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名:さくらインターネット
■ スマートURLの利用:OFF
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:MySQL

iwahei0813 > Re: baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/10 10:42
無事に解決できたみたいでよかったです!(๑˃̵ᴗ˂̵)و
一点気づいたところですが、
(6)にある、/lib/Baser/View/Membsers/mypage/login.phpのパス書き換えでも問題ないと思います!が、安全な方法として、変更パスをテーマ側に設定、もしくは、app側に設定してあげると次のbaserCMSのバージョン更新による上書きも防ぐことができると思います!!
Antennix > Re: baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/10 16:38
すみません、横から失礼します。
同様の件で、数日試行錯誤しております。

過去の資料を読み漁った上で、
kenecyさんが記載されている手法で正しいという認識になるのですが、

>(7)再度/mypage/members/login にアクセスすると、無事マイページログインが表示される。

このログイン画面が表示された所で、2度、故意に認証に失敗すると、
下記の様なエラーが発生しております。
******************
ログイン処理に失敗しました。
システムエラーです。
エラー: The requested address '/mypage/members/ajax_login' was not found on this server.
******************
同様の現象が出る方はいらっしゃらないでしょうか?


■ BaserCMSのバージョン:(例)3.0.2
■ レンタルサーバー名: AWS
■ スマートURLの利用: [ON]
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [MySQL]
■ PHPスキル(自己評価): [C]

■ OSの種類:Windows Server 2012(x64)
■ PHPのバージョン:PHP 5.4.19
■ データベース種類・バージョン:MySQL 5.1


kenecy > Re: baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/11 18:22
iwahei0813さん。こんにちは。

やはりそうでしたか。
そのあたりが少し気になっていたのですが、「変更パスをテーマ側に設定、もしくは、app側に設定してあげる」方法が
わからなかったので、直接書き換えてしまいました・・・。(^^;

その後、マニュアルの中に「ファイル読み込みの優先順位」を見つけまして、
/lib/Baser/View/Membsers/mypage/配下全てを /app/View/Membsers/mypage/ にコピーして
/lib/配下を変更前に戻して確認したらうまくいきました。

その後、今度は/app/View/Membsers/mypage/配下を /app/webroot/theme/{テーマ名}/View/Membsers/mypage にムーブして
確認してみると…、あれ?また(5)と同じエラーが発生してしまいました…。

色々と確認してみたものの何故かわからず、ふとLayoutsフォルダが{テーマ名}直下にあることに気づき、
試しに/app/webroot/theme/{テーマ名}/Membsers/mypage にムーブして確認してみたら、うまくいきました。

この結果から、恐らく「ファイル読み込みの優先順位」内の「ビュー関連の読み込み優先順位例」の
/app/webroot/theme/{テーマ名}/View/Layouts/default.php は
/app/webroot/theme/{テーマ名}/Layouts/default.php の間違いなのではないかと思うのですが、
こうした情報のフィードバックはどうしたらよろしいでしょうか?

■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名:さくらインターネット
■ スマートURLの利用:OFF
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:MySQL

kenecy > Re: baserCMS3で、過去の「会員制サイトの構築」の情報はそのまま使えますか? @ 2014/4/11 18:34
Antennixさん。こんにちは。

こちらの環境下でも同様のテストをしてみましたら、同じエラーが発生しました。
エラーメッセージの下にStack Trace情報が表示されていましたので、記載しておきます。

引用:
Stack Trace
CORE/Cake/Controller/Component/SecurityComponent.php line 242 → SecurityComponent->blackHole(MembersController, string)
[internal function] → SecurityComponent->startup(MembersController)
CORE/Cake/Utility/ObjectCollection.php line 132 → call_user_func_array(array, array)
[internal function] → ObjectCollection->trigger(CakeEvent)
CORE/Baser/Event/CakeEventManager.php line 247 → call_user_func(array, CakeEvent)
CORE/Cake/Controller/Controller.php line 675 → CakeEventManager->dispatch(CakeEvent)
CORE/Cake/Routing/Dispatcher.php line 182 → Controller->startupProcess()
CORE/Cake/Routing/Dispatcher.php line 160 → Dispatcher->_invoke(MembersController, CakeRequest, CakeResponse)
APP/webroot/index.php line 151 → Dispatcher->dispatch(CakeRequest, CakeResponse)
ROOT/index.php line 51 → require(string)


どなたか原因のわかる方はおられないでしょうか?
よろしくお願い致します。

■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名:さくらインターネット
■ スマートURLの利用:OFF
■ 設置フォルダ:サブフォルダ
■ 利用しているデータベース:MySQL

 

 1  |  2   | 次のページ>

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


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

検索

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

フォーラムガイド


関連リンク

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

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