おねがいページにコメント機能を追加してみよう! その3
こんにちは!
前回、前々回と
土日でわかるPHPプログラミング教室で作った社内連絡アプリに
コメント機能を追加するべく頑張ってきました。
そして、今回もその続きです。
では、さっそくやっていきましょー!
前回はリレーションの設定をしました。
今回は、
・Commentボタンの追加
・コメント追加画面におねがい情報を表示
をしてみますー
● 作った土台を修正して、要件にあったコメント追加機能にする。
1.おねがいページにCommentボタンを追加します。
C:\donichi\fuelphp-1.7.3\fuel\app\views\request\index.phpに
25~28行目と38行目のコードを追加します。
前回書いていませんでしたが、
Commentボタンに追加されたコメントの件数も表示したいと思います。
なので、25~28行目はコメントの件数を取得する処理を入れます。
38行目のコードでCommentボタンを追加します。
改行はせずに一行で書いてくださいー
コメントボタンが追加されているか確認します。
http://localhost:8000/requestを開きます。
青いCommentボタンが追加できましたよ!!
Commentボタンをクリックすると・・・・・
コメントの追加画面がでましたね!
次いきましょー!
2.コメントの追加画面を修正する。
その1でも書きましたが、追加画面は下記のようにしたいと思います。
・コメントするおねがい情報を表示。
・コメントの一覧を表示。
☆投稿者名の入力フォーム。
☆コメントを追加する入力フォーム。
☆「Save」ボタンでコメントを追加する。
☆のところは土台を作った時にできているところです。
文章では伝わりにくいですよね・・・・
(・∀・)つ 完成イメージはこんな感じです
まずは、おねがい情報を表示させてみましょう。
C:\donichi\fuelphp-1.7.3\fuel\app\classes\controller\comments.phpの
action_create()を修正します。
28行目~37行目を下記のように修正します。
そして、69行目を下記のように修正します。
28行目の引数は、request_idがセットされるようになっています。
おねがいページからCommentボタンをクリックして、
コメントの追加画面に移動しました。
その時のURLに2ってついてましたよね?
クリックしたおねがい情報によって数字は変わりますが・・・
これがクリックしたおねがい情報のrequest_idなので、
action_createの処理にきたときの引数にセットされます。
30行目~37行目はrequest_idがセットされていなかったり、
データベースに存在しないidだったりした時には、
おねがいページにリダイレクトさせたいのでこの処理を入れています。
ちょっと試してみましょう。
存在しないidを入れてアクセスするとおねがいページに飛ばされるはずです。
ちゃんとおねがいページに移動しました!
69行目については、おねがい情報をViewから取得できるようにセットしています。
次はViewでおねがい情報を取得して表示してみたいと思います。
えーと、71行目にView::forge('comments/create');ってあるから
view\comments\create.phpを開きましょう。
4行目で_form.phpを読み込んでいますね。
view\comments\edit.phpでも同じ_form.phpを使っているようなので、
こういう形にしているんですね。
今回はコメントの編集は作らないので、
create.phpに直接入力フォームを記述しても良さそうですが…δ(・ω・`)ウーン…
後で編集を作りたくなったときのことも考えて
一応_form.phpを修正することにします!
C:\donichi\fuelphp-1.7.3\fuel\app\classes\view\_form.phpに
下記の3行目~9行目のコードを追加します。
それと、おねがい情報の他に「IP」と「投稿日時」も表示してみます。
おねがいページからCommentボタンをクリックして表示を確認してみましょう。
表示できました!!∩(´∀`)∩ワァイ♪
今日はここまでにしたいと思います。
次回は、コメントの登録のところをする予定ですー
また次回~(*´∇`)ノシ