#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(...)` で呼び出した際の表示は、正常に行われます。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS