DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


ja:plugin:struct:filters

Struct プラグイン

Struct プラグイン:フィルター

フィルターは集約を抽出処理するために使用します。

固定フィルタ

固定フィルタは filterfilteror オプションを使って追加します。 固定フィルタは列名、比較演算子、比較する値を要求します。

例:

---- struct table ----
schemas  : projects A
cols     : %pageid%, product, budget, team
filter   : product = "Fantastico Basic"
filteror : product = "Fantastico Professional"
----

列名はもちろん完全列名(例:projects.product)を参照するか定義済みのエリアス(例:A.product)を使用できます。

比較演算子

抽出処理するために複数の比較演算子を使用できます:

比較演算子 意味
= 完全に一致
!= 又は <> 完全には一致しない
< 未満
<= 以下
> より多い
>= 以上
~ ワイルドカードと一致する。* をワイルドカードとして使用します。例えば Apple PieApple Computer に一致する Apple*。例:dessert~ *Pie。大文字小文字は区別しません。
*~ ワイルドカードと一致する。検索語を含む一致を探します。例:dessert*~ PiApple Pie と一致します。
!~ 負のワイルドカード一致。表現に一致しないすべてを選択します。

値のプレースホルダー

固定フィルタを定義する場合、半自動的な値と比較すると便利な場合があります。 値のプレースホルダーが便利です。 フィルタを作成するときは、単に値の代わりにプレースホルダーを使用します。

以下の例では、現在のユーザーがチームのメンバーであるすべてのプロジェクトを印刷します:

---- struct table ----
schemas  : projects A
cols     : %pageid%, product, budget, team
filter   : team = %USER%
----
プレースホルダー 説明
$USER$ 現在ログインしているユーザー
$TODAY$ Y-m-d 形式の今日日付
$ID$ ページの全ページ ID (of the page the aggregation is defined on)
$PAGE$ ページの名前空間以外のページ名
$NS$ ページの名前空間
$STRUCT.<schema>.<field>$ The struct data saved for the current page in given field.

動的フィルター

dynfilters オプションを追加するか妥当な URL パラメータを渡すことで集約を「動的に」抽出することができます。

以下の例では、選択されたすべての列に抽出用の入力フィールドを追加します。

---- struct table ----
schemas    : projects A
cols       : %pageid%, product, budget, team
dynfilters : 1
----

この方法を使って作成したフィルターは、常に *~ 比較演算子を使用します。 つまり、列データ内のどこでも検索語を探します。

動的フィルターは flt パラメータを使用して追加することもできます。 パラメータは、キーの中に列名と比較演算子の組み合わせを入れ、値の中に比較値を入れた配列型です。

例:?flt[projects.budget>]=10000

ja/plugin/struct/filters.txt · 最終更新: 2016-08-06 10:07 by sawachan

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki