質問

投稿者:KO
登録日:2025年5月29日(木)

認証エリア内での会員属性に応じたコンテンツの表示切り替えについて

認証エリア内での会員属性に応じたコンテンツの表示切り替えについて質問です。 今、会員サイトを作成しており、データベースは以下のように構築しています。 ・会員情報DB(会員ID) ・コース情報DB(コースID) ・受講履歴DB(中間テーブル、参照フィールドに会員IDとコースID) 会員は複数あるコースのうち、いずれかを受講しているのですが、 その受講しているコースによって、表示するコンテンツを切り替えたいと考えています。 例)会員サイト内には「お知らせ」や「動画アーカイブ」などのページがあり、 受講しているコースに関連する記事や動画だけを表示させたい。 (記事や動画のDBには、参照フィールドでコースIDを持っています) 下記記事を参照して、会員情報のステータスからの表示切り替えはできたのですが、 https://knowledge.spirers.jp/article/operation/detail/7083 今回のような受講履歴DBからの表示切り替え方法がわからなかったため、 ご質問させていただきました。 方法についてご教示いただけますと幸いです。 何卒よろしくお願いいたします。

更新日:2025年5月30日(金)
いいね

コメント

  • ご質問ありがとうございます。 認証DBから情報を取得する際は、Thymeleaf側でログインユーザーのステータスの取得が可能ですが、 認証DBでないDBから情報を取得する際には、APIを使用いただく必要がございます。 以下の手順を参考に設定をお試しいただけますと幸いです。 ■実装手順 1. 認証後の表示制御を行いたいページのPHPにて、ログインしている会員のIDを取得 2. 会員IDを抽出条件に指定し、受講履歴DBに対して「レコード一覧を取得」のAPIを実行 3. 実行結果からコースIDを取得して、Thymeleafに渡す 4. Thymeleafで、渡されたコースIDによってコンテンツの表示制御を行う APIやPHPの実行結果をThymeleafに渡す方法については、以下の記事をご参照ください。 ▼認証情報を取得するPHP https://support.spiral-platform.com/function/function-site-manage/6898.html#getAuthRecordByFieldIdfieldId ▼レコード一覧を取得 https://docs.spiral-platform.com/api/#operation/getRecords ▼レコード一覧を取得 サンプルコード https://knowledge.spirers.jp/article/development/detail/4148#:~:text=%E5%8F%82%E7%85%A7%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82-,%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7%E5%8F%96%E5%BE%97,-%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89 ▼PHP実行結果をThymeleafに渡す関数 https://support.spiral-platform.com/function/function-site-manage/6898.html#setTHValuekey_value

    • いいね
    2025年5月30日(金)
  • 受講履歴DBから会員の受講したコースIDを取得するため、APIでの取得方法をご案内いたしましたが、 「お知らせ」、「動画アーカイブ」のコンテンツを一覧(レコードリストブロック)で会員サイトにコンテンツとしてそれぞれのDBの内容を表示いただいている場合、会員DBに受講しているコースを示すセレクトをお持ちいただくことで、レコード公開範囲を設定可能です。 レコード公開範囲をご設定いただくと、ログインした会員のコースに合わせたデータのみが表示されます。 ・会員情報DB(会員ID,コース[セレクト]) ・コース情報DB(コースID,コース[セレクト]) ・受講履歴DB(中間テーブル、参照フィールドに会員IDとコースID、コース[セレクト]) ・お知らせや動画アーカイブDB(コース[セレクト]) ※お知らせや動画アーカイブでこの内容はAコースとBコースで表示させたいなど、対象が複数の場合は  各DBに追加する項目をセレクトではなくマルチセレクトでご作成ください。 受講履歴DBのトリガ機能で登録時のレコードアクションで会員情報DBのコース[セレクト]を更新してください。 ▼DBトリガのレコードアクション https://support.spiral-platform.com/function/function-app-manage/6891.html ■レコード公開範囲(お知らせや動画アーカイブDBなどの一覧表示するDBで設定) 会員サイトのレコード公開範囲設定にて下記を設定 ・ログインフィルタのフィールド値関係抽出 (簡易)  コース(セレクト) 等しい コース(セレクト)  ▼レコード公開範囲 https://support.spiral-platform.com/function/function-site-manage/5187.html 上記を行っていただくことで会員DBの持っているコースと同じコースを対象にしているお知らせや動画アーカイブの一覧を表示することが可能です。

    • いいね
    2025年5月30日(金)
あなたもログインして、
回答してみませんか?