超初心者の第一歩?~「土日でわかるPHPプログラミング教室」を使う~

「土日でわかるPHPプログラミング教室」に関して諸々綴っていきます。

おねがいページにコメント機能を追加してみよう! その3

 こんにちは!

 

前回、前々回と

土日でわかるPHPプログラミング教室で作った社内連絡アプリに

コメント機能を追加するべく頑張ってきました。

 

そして、今回もその続きです。

 

では、さっそくやっていきましょー!

 

前回はリレーションの設定をしました。

今回は、

・Commentボタンの追加

・コメント追加画面におねがい情報を表示

をしてみますー

 

 

● 作った土台を修正して、要件にあったコメント追加機能にする。

 

1.おねがいページにCommentボタンを追加します。

C:\donichi\fuelphp-1.7.3\fuel\app\views\request\index.php

25~28行目と38行目のコードを追加します。

 

前回書いていませんでしたが、

Commentボタンに追加されたコメントの件数も表示したいと思います。

なので、25~28行目はコメントの件数を取得する処理を入れます。

f:id:froidebooks:20160525174900p:plain

 

 

38行目のコードでCommentボタンを追加します。

改行はせずに一行で書いてくださいー

f:id:froidebooks:20160525174746p:plain

 

コメントボタンが追加されているか確認します。

http://localhost:8000/requestを開きます。

f:id:froidebooks:20160525175118p:plain

青いCommentボタンが追加できましたよ!!

Commentボタンをクリックすると・・・・・

f:id:froidebooks:20160525175222p:plain

コメントの追加画面がでましたね!

次いきましょー!

 

2.コメントの追加画面を修正する。

その1でも書きましたが、追加画面は下記のようにしたいと思います。

 

・コメントするおねがい情報を表示。

・コメントの一覧を表示。

☆投稿者名の入力フォーム。

☆コメントを追加する入力フォーム。

☆「Save」ボタンでコメントを追加する。

 

☆のところは土台を作った時にできているところです。

 

文章では伝わりにくいですよね・・・・

 

(・∀・)つ 完成イメージはこんな感じです

f:id:froidebooks:20160526164819p:plain

 

まずは、おねがい情報を表示させてみましょう。

 

C:\donichi\fuelphp-1.7.3\fuel\app\classes\controller\comments.php

action_create()を修正します。

 

28行目~37行目を下記のように修正します。

f:id:froidebooks:20160526170050p:plain

 

そして、69行目を下記のように修正します。

f:id:froidebooks:20160526165620p:plain

 

28行目の引数は、request_idがセットされるようになっています。

おねがいページからCommentボタンをクリックして、

コメントの追加画面に移動しました。

その時のURLに2ってついてましたよね?

クリックしたおねがい情報によって数字は変わりますが・・・

 

f:id:froidebooks:20160526170414p:plain

 

これがクリックしたおねがい情報のrequest_idなので、

action_createの処理にきたときの引数にセットされます。

 

30行目~37行目はrequest_idがセットされていなかったり、

データベースに存在しないidだったりした時には、

おねがいページにリダイレクトさせたいのでこの処理を入れています。

 

ちょっと試してみましょう。

存在しないidを入れてアクセスするとおねがいページに飛ばされるはずです。

f:id:froidebooks:20160526170949p:plain

ちゃんとおねがいページに移動しました!

 

69行目については、おねがい情報をViewから取得できるようにセットしています。

 

次はViewでおねがい情報を取得して表示してみたいと思います。

えーと、71行目にView::forge('comments/create');ってあるから

view\comments\create.phpを開きましょう。

 

f:id:froidebooks:20160526171238p:plain

 

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」と「投稿日時」も表示してみます。

f:id:froidebooks:20160526172355p:plain

 

おねがいページからCommentボタンをクリックして表示を確認してみましょう。

f:id:froidebooks:20160526172448p:plain

 

 

表示できました!!∩(´∀`)∩ワァイ♪

 

今日はここまでにしたいと思います。

次回は、コメントの登録のところをする予定ですー

 

また次回~(*´∇`)ノシ