この記事では、kintoneアプリのレコードを一覧(リスト)形式で表示し、詳細ページへ遷移できるWebページの作り方を紹介します。

イメージとしては、kintoneアプリの「一覧画面」と「詳細画面」をWebサイトとして再現するような構成です。


エブリサイトでページを設定する方法として、「ページ内処理」と「ページ生成時処理」の2つがあります。

ページの用途に合った方法の記事を参照し、設定してください。


各方法の違いについては、次のリンク先を併せて参照してください。

動画:gusuku Everysite における「ページ生成時処理」と「ページ内処理」の違い・使い分け

記事:ページ生成時処理とページ内処理 ・ログイン・接続設定について


また、当記事で紹介する機能は、それぞれの方法で公開時に生成されるページ数が異なりますので、その点もご注意ください。

記事

設定時に作成するページ数

公開時に生成されるページ数

【ページ内処理】一覧画面から詳細画面へ遷移するページの作り方(本記事)

一覧:1ページ

詳細:1ページ

一覧:1ページ

詳細:1ページ

【ページ生成時処理】一覧画面から詳細画面へ遷移するページの作り方

一覧:1ページ

詳細:1ページ

一覧:1ページ

詳細:公開するレコードの数分

※gusuku Everysiteは各プランごとにページ数の上限が異なります。

 プランについてはこちらをご覧ください。



完成イメージ

一覧ページと詳細ページを作成し、一覧ページでクリックしたレコードの詳細を、詳細ページで表示します。どのレコードを表示するかを判別する『キー』として、例としてkintoneのレコード番号を使用します。レコードを一意に識別できる値であれば、レコード番号以外のフィールドもキーとして使用できます。


エブリサイトで表示するkintoneアプリ


画面デザインイメージ


設定の流れ

  1. 一覧用の新しいページを追加する

  2. 詳細用の新しいページを追加する

  3. 一覧:画面デザインを設定する

  4. 一覧:接続設定-kintoneを追加する

  5. 一覧:ページ内処理を設定する

  6. 詳細:画面デザインを設定する

  7. 詳細:接続設定-kintoneを追加する

  8. 詳細:ページ内処理を設定する



設定の詳細

*今回の設定に関係しない項目についての説明は割愛します。

1.一覧用の新しいページを追加する

「新しいページを追加」ボタンを押して、必要事項を設定し、一覧用のページを追加します。

ページ設定名

一覧


ページのタイトル

一覧


URL

sample-list2


と設定します。




2.詳細用の新しいページを追加する

ページ一覧画面に戻り、「新しいページを追加」ボタンを押して、必要事項を設定し、詳細用のページを追加します。

ページ設定名

詳細


ページのタイトル

詳細


URL

sample-detail

※一覧のページ設定時に、このURLを利用します。



1,2が完了すると、下記のような2つのページが作成されます。


3.一覧:画面デザインを設定する

ページ一覧画面に戻り、一覧のページ設定画面に遷移します。画面デザイン→ウィジェット編集に進み、ウィジェットの設定と必要なパラメーターを設定します。

なお、デザインに関する詳細設定(タイルやレイアウトの設定等)は割愛しております。

ウィジェット選択

シンプルテーブル


ウィジェットID

一覧


タイトル

リッチテキスト


列になるアイテム

リンクテキスト(下線あり)

[タイトル]リッチテキスト:パラメーター


アイテムID

お知らせ表題


ウィジェットID

お知らせ表題


リッチテキスト

「お知らせ」と入力し、装飾します

[列になるアイテム]リンクテキスト(下線あり):パラメーター


アイテムID

タイトル


ウィジェットID

タイトル


リンク先URL

空欄(設定不要)


4.一覧:接続設定-kintoneを追加する

kintoneアプリでAPIトークンを生成し、エブリサイトに接続設定-kintoneを追加します。

kintoneアプリでAPIトークンを生成し、コピーした後、[保存]→[アプリを更新]まで行います。


アクセス権

レコード閲覧

エブリサイトの画面に戻り、接続設定-kintoneを追加します。


接続設定名

お知らせ(閲覧)


認証可否

認証なしで利用可


ドメイン

ご利用中のドメインを入力


kintoneアプリ

アプリIDを入力

※https://(サブドメイン名).cybozu.com/k/xxx/ のxxxの部分です


kintoneアプリ

コピーしたAPIトークンをペースト



5.一覧:ページ内処理を設定する

エブリサイトのページ上に表示したいレコードを取得し、画面デザインで設定したアイテムにセットします。


5-1.表示したいレコードを取得する

ページ表示時に、お知らせアプリから「公開」フィールドの値が『する』のレコードだけを抽出し、「公開日」フィールドで降順に並べ替えて取得します。

 やること「クエリで条件を指定して kintone からレコードを取得する

  取得元アプリ:アプリIDを入力します。

  検索条件「公開 in("する")  order by 公開日 desc」

 条件「ページを表示した時


5-2.レコード情報を表示する

アクション3で取得したレコード一覧を、画面デザインで設定したウィジェット(テーブル)にセットします。

 やること「テーブルの表示内容をセットする 」

  表示内容

   「=タイトル」               > タイトル

   「="/sample-detail.html#"& レコード番号」> タイトル.リンク先URL

     ※詳細画面表示設定時に、#ハッシュ(#の後ろの情報)を取得して、利用します

 条件「他のアクションの実行が完了した時  」


以上で【一覧ページ】の設定は完了です。

6.詳細:画面デザインを設定する

ページ一覧画面に戻り、詳細画面用のページ設定画面に遷移します。画面デザイン→ウィジェット編集に進み、ウィジェットの設定と必要なパラメーターを設定します。

ウィジェット選択

シンプルパネル


ウィジェットID

詳細


アイテム

リッチテキスト

[アイテム]リッチテキスト:パラメーター


アイテムID

本文


アイテム名

本文


リッチテキスト

空欄(設定不要)


7.詳細:接続設定-kintoneを追加する

kintoneアプリでAPIトークンを生成し、エブリサイトに接続設定-kintoneを追加します。

 ※4の手順と同様です。


8.詳細:ページ内処理を設定する

詳細ページに表示するレコードを特定するため、、ハッシュ(#の後ろの情報)を取得し、その情報をもとに、表示したいレコードを取得し、画面デザインで設定したアイテムにセットします。

ハッシュが取得できなかった場合や、レコードを取得した結果、条件に一致するレコードがなかった場合に「お探しのページは存在しません」と表示させるように設定します。

8-1.URLからハッシュを取得する

ページを表示するたびに、URLから「#1」の値「1」を取得します。

 やること「URLの「#」の後ろの情報を取得する

 条件「ページを表示した時


8-2.ハッシュが取得できなかった場合の設定

ハッシュが取得できなかった場合のアクションを設定します。レコードを取得した結果、条件に一致するレコードがなかった場合にも、同じメッセージを表示させたいため、ここでは、やること「なにもしない 」を選択します。

 やること「なにもしない 」

 条件「他のアクションの実行が完了した時 」

 追加条件「文字列が条件を満たすならば 」


8-3.取得したハッシュをもとにレコードを取得する

取得したハッシュにを基に、表示させたいレコードの条件でレコードを取得します。

 やること「クエリで条件を指定して kintone からレコードを取得する

  検索条件「レコード番号 = ${$1} and 公開 in ("する") 」

 条件「他のアクションの実行が完了した時 」

 追加条件「文字列が条件を満たすならば 」を選択し、条件を反転ボタンをクリックし、「文字列が条件を満たさないならば」とします。


8-4.レコードが取得できなかった場合の設定

アクション3でレコードが取得できなかった場合のアクションを設定します。ハッシュが取得できなかった場合にも、同じメッセージを表示させたいため、ここでは、やること「なにもしない 」を選択します。

 やること「なにもしない 」

 条件「他のアクションの実行が完了した時 」

 追加条件「数値が条件を満たすならば

  比較する値(A)「=count($3)」


8-5.エラーメッセージを表示する

アクション2やアクション4に続く、エラーメッセージ表示の設定をします。

 やること「表示アイテムの内容をリッチテキストでセットする 」

 条件「いずれかのアクションの実行が完了した時


8-6.レコード情報を表示する

アクション3で取得したレコードを、画面デザインで設定したアイテム(リッチテキスト)にセットします。

 やること「表示アイテムの内容をリッチテキストでセットする 」

 条件「他のアクションの実行が完了した時 」

 追加条件「数値が条件を満たすならば

  比較する値(A)「=count($3)」


以上で【詳細ページ】の設定も完了です。


2つのページをテストして、動作を確認してみてください。

一覧ページでクリックしたリンクによって、詳細ページの表示内容が変更されることを確認してください。


さらに理解を深めるために

「5.1表示したいレコードを取得する」、「8.3取得したハッシュをもとにレコードを取得する」では、常にkintoneの最新情報を取得したいので、「キャッシュが無効になる日時」は設定していません。kintoneのAPIリクエスト数を抑えたい場合は、fromnow 関数などを利用して、設定してください。

キャッシュに関する詳しい内容は、次の記事をご覧ください。


エブリサイトのドキュメントページサポートページもぜひご活用ください。