#author("2025-10-03T11:23:13+09:00","","") // このページは、aarlistプラグインのデータソースです。 // #configブロックと#dataブロック、両方の編集が可能です。 #author("2025-10-03T13:59:26+09:00","","") ** flexlist.inc.php [#k9e40dbd] |RIGHT:125|LEFT:360|c |~サマリ|別のページに記述されたデータを元に、ソート・検索・フィルター・グループ化・ページネーションといった諸機能を備えたテーブルを生成します。| |~リビジョン|1.0| |~対応バージョン|1.5.4| |~投稿者|[[綾つむぎ(ゆいかせ)]]| |~投稿日|&new{2025-10-03 (金) 12:37:33};| // ============================================================ // 設計図ブロック // ============================================================ // key: プログラムが内部で使う英語名 (必須) // type: 列の挙動を定義する (必須) // - sort-only: 並び替えのみ // - filter-sort: 並び替えと、単一選択での絞り込み // - csv-filter-sort: 並び替えと、カンマ区切りでの複数選択絞り込み // label: 実際に画面に表示される日本語名 (必須) // ============================================================ #datatable_config pagination_options: 25, 50, 80, 100, All pagination_default: 50 * 特徴 [#o5ded3dd] - &color(blue){''データと表示の完全な分離''}; データ管理用のページと、テーブルを表示するページを分けることで、大規模なデータのメンテナンスを容易にします。 - &color(blue){''強力なグルーピング''}; 指定した列の値でデータを分類し、見出し付きで表示できます。 - &color(blue){''完全なカスタム順序''}; ソート、グループ化、フィルターの項目の並び順を、論理的な(意味のある)順番で自由に定義できます (例: 「大, 中, 小」)。 - &color(blue){''ユーザーフレンドリーなUI''}: 検索、複数列ソート(Ctrl/Cmd+クリック)、表示件数の動的な変更が可能です。 - &color(blue){''単一ファイルで完結''}; `flexlist.inc.php` を一つ置くだけで、すべての機能が利用できます。 |key|type|label|width|options| |title|sort-only|タイトル|120px|sort_priority:2| |subtitle|sort-only|補足|120px|| |nation|group-filter-sort|国|120px|sort_priority:1| |region|group-filter-sort|地域|120px|order:ヨーロッパ,アジア,北米,南米,アフリカ,オセアニア| |version|group-filter-sort|Ver|80px|| |ironman|group-filter-sort|鉄人|80px|order:Yes,No| |dlc|csv-filter-sort|主要DLC|120px|| |basemod|group-filter-sort|ベースMOD|150px|| |othermod|csv-filter-sort|その他MOD|150px|| #datatable_endconfig * インストール [#wc8a881e] 1. 上記のリンクから `flexlist.inc.php` をダウンロードします。 2. PukiWikiの `plugin` ディレクトリに、ダウンロードしたファイルをアップロードします。 ---- * 基本的な使い方 [#lc83f532] **ステップ1: データページの作成 [#m360de46] まず、データを格納するためのページ(例: ''Data/MyList'')を作成し、以下の2つのブロックを記述します。 // ============================================================ // データブロック // ============================================================ // ヘッダー行の日本語名は、#configブロックのlabelと一致させること。 // ============================================================ #datatable_data |タイトル|補足|国|地域|Ver|鉄人|主要DLC|ベースMOD|その他MOD|h |[[オスマン世界征服録]]|初心者向けの解説多め|オスマン|ヨーロッパ|1.38|Yes|Domination|Vanilla|なし| |[[明で朝貢再興RTA]]|縛りプレイです|明|アジア|1.38|Yes|なし|Vanilla|なし| |[[Kaiserreich: ドイツ勝利への道]]|HoI4の大型MODです|ドイツ|ヨーロッパ|1.14|No|なし|Kaiserreich|なし| |[[ヴェネツィア海洋帝国一代記]]|交易と海軍が主役|ヴェネツィア|ヨーロッパ|1.35|Yes|Winds of Change, Domination|Vanilla|Beautiful Borders| |[[日本幕府の太平洋戦略]]|植民と海戦|日本|アジア|1.35|No|Domination|Vanilla|JP MOD| |[[フランス第三帝政]]|実績プレイ解説|フランス|ヨーロッパ|1.37|Yes|By Blood Alone|Vanilla|なし| |[[アメリカ民主主義の兵器廠]]|初心者向けマルチ指南|アメリカ|北米|1.39|No|なし|Vanilla|なし| |[[ビザンツ帝国復興RTA]]|世界最速に挑戦|ギリシャ|ヨーロッパ|1.38|Yes|Domination|Vanilla|なし| |[[大清帝国アヘン戦争リベンジ]]|史実IFルート|清|アジア|1.36|No|Waking the Tiger|Vanilla|なし| |[[ポーランドはまだ滅びず]]|高難易度国家プレイ|ポーランド|ヨーロッパ|1.39|Yes|No Step Back|Vanilla|なし| |[[Kaiserreich: ロシア再生]]|KRのロシアプレイ|ロシア|ヨーロッパ|1.14|No|なし|Kaiserreich|なし| |[[インド国民会議派の闘争]]|実績「独立の父」解説|イギリス領インド|アジア|1.38|Yes|Together for Victory|Vanilla|なし| |[[神聖ローマ帝国再興(HRE)]]|バニラでのHRE形成|オーストリア|ヨーロッパ|1.35|Yes|Emperor, Domination|Vanilla|なし| |[[メキシコ・シンジケート]]|KRのアメリカ介入|メキシコ|北米|1.14|No|なし|Kaiserreich|なし| |[[エチオピアの誇り]]|最弱国からの逆転劇|エチオピア|アフリカ|1.37|Yes|By Blood Alone|Vanilla|なし| |[[日帝で世界征服]]|マルチ対人戦向け戦略|日本|アジア|1.39|No|Waking the Tiger|Vanilla|なし| |[[ローマ帝国再興]]|イタリアからの挑戦|イタリア|ヨーロッパ|1.37|Yes|By Blood Alone, Domination|Vanilla|なし| |[[ソビエト連邦大祖国戦争]]|独ソ戦の徹底解説|ソビエト連邦|ヨーロッパ|1.39|Yes|No Step Back|Vanilla|なし| |[[カナダ協商の守護者]]|KRのカナダプレイ|カナダ|北米|1.14|No|なし|Kaiserreich|なし| |[[新生ローマ帝国]]|実績解除プレイ|フランス|ヨーロッパ|1.38|Yes|Domination|Vanilla|なし| |[[ブラジル統合主義帝国]]|南米の覇者を目指す|ブラジル|南米|1.36|No|なし|Vanilla|なし| |[[スカンディナヴィア統一]]|北欧の夢|スウェーデン|ヨーロッパ|1.35|Yes|Arms Against Tyranny|Vanilla|なし| |[[中華民国統一戦争]]|軍閥サバイバル|山西|アジア|1.36|Yes|Waking the Tiger|Vanilla|なし| |[[オーストラリア=ハンガリー二重帝国再興]]|実績解除RTA|ハンガリー|ヨーロッパ|1.38|Yes|Death or Dishonor|Vanilla|なし| |[[スペイン内戦の勝者]]|国粋スペインRP|スペイン|ヨーロッパ|1.39|No|La Résistance|Vanilla|なし| |[[オスマン帝国再興]]|トルコからの逆襲|トルコ|ヨーロッパ|1.37|Yes|Battle for the Bosporus|Vanilla|なし| |[[満州国七大建築]]|実績解除解説|満州国|アジア|1.36|Yes|Waking the Tiger|Vanilla|なし| |[[共産中国の世界革命]]|中国共産党プレイ|共産中国|アジア|1.39|Yes|なし|Vanilla|なし| |[[アメリカ連合国(CSA)]]|KRのアメリカ内戦|アメリカ連合国|北米|1.14|No|なし|Kaiserreich|なし| |[[ヨーロッパの病人、再び]]|オスマンRP重視プレイ|オスマン|ヨーロッパ|1.39|No|Domination|Vanilla|なし| #datatable_enddata #code(pukiwiki){{ // 設定ブロック #flexlist_config |key|type|label|width| |name|sort|名前|auto| |category|group-filter-sort|分類|150px| #flexlist_endconfig // データブロック #flexlist_data |~名前|~分類| |アイテムA|フルーツ| |アイテムB|野菜| |アイテムC|フルーツ| #flexlist_enddata }} **ステップ2: 表示ページでの呼び出し [#v52f83b6] テーブルを表示したいページで、以下のようにプラグインを呼び出します。 #code(pukiwiki){{ #flexlist(Data/MyList) }} * 設定の詳細 (#flexlist_config) [#z6f666de] `#flexlist_config` ブロックでは、テーブルの全体設定と列ごとの詳細な設定を定義します。 **全体設定 [#wf0581a4] テーブルの上に、`キー:値` の形式で記述します。 |キー|説明|例| |pagination_options|表示件数ドロップダウンの選択肢をカンマ区切りで指定します。`All`は全件表示を意味します。|`pagination_options: 25, 50, 100, All`| |pagination_default|初期状態で選択される表示件数を指定します。|`pagination_default: 50`| **列設定 [#g7ddb2cf] Wikiのテーブル形式で、1行がテーブルの1列に対応します。 |列名|必須|説明| |`key`|○|データの内部的な名前。''半角英数字''を推奨します。| |`type`|○|列の機能をハイフン区切りで指定します (例: `group-filter-sort`)。&br; - `sort`: ソート可能になります。&br; - `filter`: フィルター可能になります。&br; - `group`: グループ化の対象になります。&br; - `csv`: カンマ区切りの複数値をフィルター対象として扱います。| |`label`|○|テーブルヘッダーに実際に表示される名前。データブロックのヘッダーと一致させる必要があります。| |`width`|○|列の幅をCSS形式で指定します (`auto`, `150px`, `30%` など)。| |`options`|☓|`キー:値`形式で、セミコロン区切りで高度な設定を行います。| **高度な設定 (`options`列) [#n8e9e511] |オプション|説明|例| |`sort_priority`|デフォルトのソート優先度。数値が小さいほど優先されます。|`sort_priority:1`| |`order`|ソート、グループ化、フィルターの項目に、''意味のある順番''を与えます。カンマ区切りで、優先したい順に値を記述します。|`order:Yes,No`&br;`order:高,中,低`| * 既知の問題 [#y58c6e9d] データページ(例: ''Data/MyList'')を直接ブラウザで表示した場合、`#flexlist_config` や `#flexlist_data` といったタグが、処理されずにそのまま表示されることがあります。 これは、単純な文字列を返すインラインプラグインに対するPukiWikiの表示仕様によるもので、''プラグインの機能自体に影響はありません''。`#flexlist(...)` で呼び出した際の表示は、正常に行われます。