イイネボタンを作る

概要

ボタンブロックを活用し、データベースページに対して「イイネ」をクリックした人をプロパティに反映したり、それを元に人数をカウントしたりできます。

これを応用すると、議事録の既読表明や人気投票なども作成できます。

ここでは、閲覧者がデータベースページを開いて内容を確認し、その結果としてページ内に設置された「イイネ」ボタンをクリックする、という運用を想定した設定例を紹介します。


手順

  1. まずは、いいねボタンを設けたいデータベースを作成し、以下のプロパティを設定します。
  • イイネした人を反映するための ユーザー プロパティ
  • イイネした人の数をカウントするための 関数 プロパティ(以下のコード参照)

if(length(prop("イイネした人")) > 0, length(replaceAll(prop("イイネした人"), "[^,]", "")) + 1, 0)

  1. 試しに手動で イイネした人 を入力し、関数がうまく機能することを確認します。

  1. 次に、データベーステンプレートを作成します。データベース右上の 新規 の横にある下向きの矢印ボタンをクリックし、新規テンプレート をクリックします。

    この中に「イイネ」ボタンを設置することで、以後データベースに追加される新しいページにも簡単に「イイネ」ボタンが設定できるようになります。

  1. /button でボタンブロックを呼び出します。

  1. 表示されるメニューから、ページを編集 を選択します。

  1. ボタンの編集画面が開くため、まずはボタン本体に表示させるアイコンとボタン名を設定します。

  1. 次に、データベースを選択 ボタンをクリックし、 このページ を選択します。

    こうすることで、ページに設置された「イイネ」ボタンを押すと、そのページの「イイネした人」プロパティが編集されます。

  1. 次に、プロパティを編集 のドロップダウンから イイネした人 を選択します。

    これは、ボタンを押した時に編集したいプロパティを指定するところです。

  1. デフォルトでは編集行為は 置換 がセットされていますが、ここを 追加 に変更します。

    置換:既存の値の置き換え

    追加:既存の値の有無に関わらず値を追加 → イイネした人が追加される

    削除:既存の値を削除

  1. その右側の欄が、追加したいユーザーを選択するメニューです。クリックして ボタンをクリックしたユーザー を選択します。

    これで、「イイネ」ボタンをクリックしたユーザーが イイネした人 プロパティに 追加 されるように設定されました。

  1. 完了 ボタンを押してボタン編集画面を閉じます。

  1. 「イイネ」ボタンの入ったデータベーステンプレートが完成したので、名前を付けて 戻る ボタンで閉じます。

  1. これで、データベースに新しいアイテムを追加すると、「イイネボタン」を含むテンプレートが使えるようになっています。

  1. データベーステンプレートを適用し、ボタンを押してみると、このように動作します。

記事を評価 ありがとうございます! 失敗しました