【Bubble】日付で月別絞り込み検索機能を実装する方法

著者:大熊滉希
ノーコード特化のアプリ/システム開発事業を展開するEPICsの代表。
前職にて新規事業コンサルティングを行う企業で役員を歴任した後、
最小の経営資源で開発を行えるノーコードに可能性を感じEPICsを創業。

運営会社:EPICs株式会社
日本最大級の開発実績を誇るノーコード特化のアプリ/システム開発会社。
最安30万円・最短2週間から、BubbleやAdaloなど多様なツールの中からニーズに合わせた最適な開発を提案・実施している。Adalo公認エキスパートも在籍。

ノーコードツール「Bubble」で日付で月別にデータを絞り込んで表示する検索機能の実装方法をご紹介!

実は最初実装イメージが湧かず困ったので、Bubbleフォーラムの日本語カテゴリで質問してみました。数時間でお優しい方が手を差し伸べてくださり思い描いていた理想の動作を実装することができたので今回記事化させていただきました。Bubbleフォーラムで完璧なアドバイスをしてくださったMichitomo様、本当にありがとうございました。

※英語で検索するときは「How to set a dropdown filter by month from created date」などで検索してみるといいかも。

WordPressの月別アーカイブのような絞り込み機能のBubbleで作り方を探している方の開発の一助になれば幸いです。

動画解説バージョンはこちら!

なお、ノーコードBubbleの概要については以下の記事で解説しています。

【公認代理店が解説】ノーコードツールBubbleとは?使い方やデメリット、料金を解説

目次
無料で資料をダウンロード

ノーコード開発お役立ち資料3点セット

計100ページ近い大ボリュームでノーコード開発について解説

  • ノーコード開発会社の選び方
  • EPICsのノーコード受託開発の特徴
  • 支援実績・事例集

    氏名

    法人名

    メールアドレス

    電話番号

    送信ボタンを押すことで、個人情報の取扱いについてに同意したとみなされます

    実装イメージ

    公開日の月(xxxx年yy月の形式)ごとに記事データの絞り込みができます。特定の月のブログ記事を検索するための機能といえます。

    データの公開日dateから動的にドロップダウンの選択肢に2023年9月(2)といったフォーマットで表示させられます。ドロップダウンとBasic typeのdate型、rounded down to month、RepeatingGroupを組み合わせて実装します。

    ちなみに、ページ全体の構造は以下の通りです。

    ドロップダウンと記事表示部分のBubbleエディタでの表示はこんな感じです。

    実装手順

    データの月別絞り込み機能は以下の手順で実装します。検索対象のデータの作成などの解説は割愛。本記事で扱う検索対象のデータのData typeはBlogです。title、contentがtext型でcategoryがOption setsであるくらいのシンプルなData。

    1. Data type「Blog」にdate型でfield「date」を追加する
    2. ドロップダウンのAppearanceタブのプロパティを設定する
    3. RepeatingGroupのData sourceを設定する

    Data type「Blog」にdate型でfield「date」を追加する

    絞り込みに使う日付のデータを保存するfield「date」をdate型で追加します。

    追加するとテストデータに日時を設定できるようになるのでそれぞれ入れます。dateの入力は初見だと戸惑うと思いますが落ち着いて数字を入れましょう。

    mm = 月
    dd = 日
    yyyy = 年
    hh = 何時
    mm = 何分

    最後の「xm」には、pかaを入れます。PM or AMってことです。

    ドロップダウンのAppearanceタブのプロパティを設定する

    次に、DropdownエレメントでドロップダウンメニューをRepeatingGroupの上に設置しましょう。

    設置できたらAppearanceタブの4項目を設定します。

    • [ Choices style ]Dynamic choices
    • [ Type of choices ]date(BASIC TYPESのdate)
    • [ Choices source ]Search for Blogs:each item' date:rounded down to month
    • [ Current caption ]Current option:formatted as yyyy年m月(Search for Blogs:count)

    ③Choices sourceのDo a search forの中は以下のようにBlogのdateで新着順でソートします。

    ③で行っていることは「Blogs」(ブログという名前のデータタイプ)を検索して、各項目(ブログ記事)の「date」フィールドの値を月に丸める(例: 2023年9月1日を2023年9月に丸めるなど)です。

    ④の()内には月単位のデータ数をDo a search forとcountでセットしてます。このSearch forの中身の設定は以下です。

    • date > Current option
    • date <= Current option + months:1

    ドロップダウンメニューの設定は以上です。

    RepeatingGroupのData sourceを設定する

    仕上げにRepeatingGroupのData sourceの設定をします。

    • date > Dropdown 月別's value
    • date <= Dropdown 月別's value + months:1
    • Sort by date(Blogのdate)
    • Descending “yes”

    ■date > Dropdown 月別’s value
    ブログ記事の公開日(date)が、ユーザーがDropdownで選択した月別の値よりも後の日付にある記事を検索。選択された月以降に公開された記事を取得する

    ■date <= Dropdown 月別’s value + months:1
    ブログ記事の公開日(date)が、ユーザーがDropdownで選択した月別の値から1ヶ月以内の日付にある記事を検索。選択された月以内に公開された記事を取得する。

    以上で、完成です!お疲れ様でした!

    【日本最大級のノーコード開発実績】
    無料でアプリ・システム開発の相談を受付中

      氏名

      法人名

      メールアドレス

      電話番号

      お問い合わせ詳細 ※分かる範囲でご記入ください

      送信ボタンを押すことで、個人情報の取扱いについてに同意したとみなされます

      「勉強になった!」「役に立った!」と思っていただけたら、是非シェアもお願いします!
      目次