EGO-LOG

40代2児の父。主にプログラム学習と開発、仮想通貨、メタバース、たまに関係ないことを綴る。

Laravel投稿サイト構築.70 -モーダル画面から投稿-

■前回

実装できなくて横に置いていたモーダル画面の表示。

意外と簡単に実装できることが分かったのが前回。

 

■モーダル画面から投稿

現状、テーマ投稿は画面上部に枠があって、そこから投稿する。

返信も対象の発言に枠があって、そこから返信内容を投稿する。

これを、ボタンクリックからのモーダル画面から投稿するように修正していく。

 

bladeファイルの投稿欄をボタンに置き換える。

------

<div class="bg-white rounded mt-2 ps-2 pt-1 pe-1 fs-4">
  <div class="lead d-flex">
    <ins>{{__('Post theme')}}</ins>
    <input type="image" src="{{ asset('image\square-plus.svg') }}" width="24px" height="24px" class="ms-1"
      data-bs-toggle="modal" data-bs-target="#modal_post_thread">
  </div>
</div>

-----

テーマ投稿のモーダル画面用の枠を作成し、idを設定してボタンからそのIDを指定してモーダル表示する(今回は#modal_post_thread)。

 

テーマ投稿欄は元の入力欄をコピーしてモーダル枠に挿入して以下のようになる。

-----

<div class="modal fade" id="modal_post_thread" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-xl">
    <div class="modal-content">
      <div class="modal-header">
                <h5 class="modal-title">テーマの内容を入力してください。</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      ・
      ・
      <div class="d-flex justify-content-end my-3 w-100">
          <input  type="submit" value="投稿">
          <button type="button" data-bs-dismiss="modal">閉じる</button>
      </div>

-----

■モーダル画面から投稿、動作確認

+ボタンクリックでモーダル表示。

入力して「投稿」ボタンで投稿できた。

順調・・!

 

モーダル画面を別のbladeファイルに分けられるらしいが、

とりあえずは1つのbladeファイルにメインとモーダル画面を記述する形でいきます。

 

■返信も対応

返信機能も同様に対応する。

返信は詳細画面から行う。

テーマに対する返信と、返信に対する返信があるので、

それぞれモーダルのidを"modal_reply_to_thread"、"modal_reply_to_reply"とした。

 

テーマへの返信は以下のようにした。

Twitterぽいね。

 

返信への返信も同様に。

 

できました。

 

■次にやりたいこと

  • URLを添付可能とする対応(本文中のURLは無効)
  • イイネ機能
  • 返信機能の拡張

 

続く