イイネボタンを作る
概要
ボタンブロックを活用し、データベースページに対して「イイネ」をクリックした人をプロパティに反映したり、それを元に人数をカウントしたりできます。
これを応用すると、議事録の既読表明や人気投票なども作成できます。
ここでは、閲覧者がデータベースページを開いて内容を確認し、その結果としてページ内に設置された「イイネ」ボタンをクリックする、という運用を想定した設定例を紹介します。
手順
- まずは、いいねボタンを設けたいデータベースを作成し、以下のプロパティを設定します。
- イイネした人を反映するための
ユーザー
プロパティ - イイネした人の数をカウントするための
関数
プロパティ(以下のコード参照)
if(length(prop("イイネした人")) > 0, length(replaceAll(prop("イイネした人"), "[^,]", "")) + 1, 0)
- 試しに手動で
イイネした人
を入力し、関数がうまく機能することを確認します。
次に、データベーステンプレートを作成します。データベース右上の
新規
の横にある下向きの矢印ボタンをクリックし、新規テンプレート
をクリックします。この中に「イイネ」ボタンを設置することで、以後データベースに追加される新しいページにも簡単に「イイネ」ボタンが設定できるようになります。
/button
でボタンブロックを呼び出します。
- 表示されるメニューから、
ページを編集
を選択します。
- ボタンの編集画面が開くため、まずはボタン本体に表示させるアイコンとボタン名を設定します。
次に、
データベースを選択
ボタンをクリックし、このページ
を選択します。こうすることで、ページに設置された「イイネ」ボタンを押すと、そのページの「イイネした人」プロパティが編集されます。
次に、
プロパティを編集
のドロップダウンからイイネした人
を選択します。これは、ボタンを押した時に編集したいプロパティを指定するところです。
デフォルトでは編集行為は
置換
がセットされていますが、ここを追加
に変更します。置換:既存の値の置き換え
追加:既存の値の有無に関わらず値を追加 → イイネした人が追加される
削除:既存の値を削除
その右側の欄が、追加したいユーザーを選択するメニューです。クリックして
ボタンをクリックしたユーザー
を選択します。これで、「イイネ」ボタンをクリックしたユーザーが
イイネした人
プロパティに追加
されるように設定されました。
完了
ボタンを押してボタン編集画面を閉じます。
- 「イイネ」ボタンの入ったデータベーステンプレートが完成したので、名前を付けて
戻る
ボタンで閉じます。
- これで、データベースに新しいアイテムを追加すると、「イイネボタン」を含むテンプレートが使えるようになっています。
- データベーステンプレートを適用し、ボタンを押してみると、このように動作します。