利用者:逢沢 茅/素人のDPL講座/資料庫

出典: へっぽこ実験ウィキ『八百科事典(アンサイクロペディア)』
ナビゲーションに移動 検索に移動

以前自分用に作ったDPLマニュアル(英語版)からの覚え書きを解説風に書き起こしたもの。ところどころおざなり。あと未完成。

記事の出力[編集]

mode[編集]

mode=で設定。記事の出力の形式を指定する。

unordered
デフォルトの設定。HTMLタグで言うところの<ul>、ウィキ文法の「*」を使って出力してくれる。
ordered
HTMLタグで言うところの<ol>、ウィキ文法の「#」を使って出力してくれる。
  1. カテゴリ:分野別スタブ
  2. Uncyclopedia:スタブ
  3. 利用者:スタブ王
none
よく分からない。が、どうやら<br>で改行したリストを出力している模様。
inline
改行なしの出力。各項目の間には「 - 」が挿入される。
inlinetext=で間に挟む文字を変えることも可能。例として「inlinetext=とか」とすると、
のように出力される。ただし、この中では半角スペースが無視されるので、たとえば半角スペースを使って「 とか 」と入れても
となってしまう。このような場合には、<nowiki>タグを使って「inlinetext=<nowiki> とか </nowiki>」とするか、文字参照&nbsp;を使って「inlinetext=&nbsp;とか&nbsp;」とする。
category
unorderedのスタイルに加えて、Category空間風に3列に分割して表示する。解説によるとordermethod=と併用しなければならないらしいが、よく分からない。
どうやらそれぞれの列に<h2>か<h3>の属性が与えられている上に、__FORCETOC__の属性まで自動で付加される模様。目次がうざったくなるので、見たい方はこちら
userformat
自分好みの出力をする際に使用。使い方はこちら、資料はこちら
ちなみに、format=を使おうがlistseparators=を使おうが、mode=userfarmatを入れる必要はなかったりする模様。

userformat関連[編集]

出力スタイルの指定[編集]

これでは書いていないが、どうやらformat=ではなくlistseparators=も使えるらしい。たぶん、違いはない。

出力変数の一覧
変数 解説
%NR% そのページが何番目に出力されたのか。最初に出力されたページなら1、次が2、その次が3……。
%PAGE% 出力したページの、名前空間を含む記事名。「名前空間:記事名」と出力。なお、Category空間やImage空間の記事は「:名前空間:記事名」と出力される。
%NAMESPACE% 出力したページの名前空間名。「名前空間」で出力。「:」がつかない。
%TITLE% 出力したページの、名前空間を含まない記事名。
%DATE% 時間を出力。どんな時間を出力するかはaddeditdate=true等で決める。複数種類の時間を出力するのは不可。形式はuserdateformat=で指定。詳細はこちら
%USER% addauthor=trueもしくはaddlasteditor=trueと併用して、出力したページの作成者or最後の編集者を出力。adduser=trueだと意味がない模様。
%REVISION% 版に基づく指定を行っている時のみ使用可。出力した版の版番号を出力。マジックワードの{{REVISIONID}}で出力されるもの。
%EDITSUMMARY% 版に基づく指定を行っている時のみ使用可。出力した版のコメント欄の内容を出力する。
カテゴリ関連
%CATNAMES% addcategories=trueと併用して、出力したページが登録されているカテゴリのリストを出力。各カテゴリの間は「,」で区切られている。
%CATLIST% addcategories=trueと併用して、出力したページが登録されているカテゴリのリストを出力。各カテゴリはリンク付きで、「,」で区切られている。
%CATBULLETS% addcategories=trueと併用して、出力したページが登録されているカテゴリのリストを出力。各カテゴリはリンク付きで、HTMLタグで言うところの<ul>、ウィキ文法の「*」を使った箇条書きで出力される。
最後の編集関連
%CONTRIBUTOR% addcontribution=trueと併用して、出力したページの最後の編集者を出力……している気がする。
%CONTRIBUTION% addcontribution=trueと併用して、出力したページの最後の編集で何バイト増減したかを出力……している気がする。正負の区別なく絶対値で出力。最近の更新のものとズレあり。
%CONTRIB% addcontribution=trueと併用して、出力したページの最後の編集でどのくらい変化したのかをアスタリスク(*)の列で出力する。変化が大きいと*の列が長くなる。
ページの統計関連
%COUNT% addpagecounter=trueと併用して、出力したページのアクセス回数を出力する。
%COUNTFS% addpagecounter=trueと併用して、何かよく分からない数字を出力する。ときどき文字列も出力する。
%COUNTFS2% addpagecounter=trueと併用して、何かよく分からない数字を出力する。ときどき文字列も出力する。
%SIZE% addpagesize=trueと併用して、出力したページのバイト数を出力する。
%SIZEFS% addpagesize=trueと併用して、何かよく分からない数字を出力する。
その他
%PAGEID% curidで使える、各ページ固有のIDを出力。http://ja.uncyc.org/index.php?curid=%PAGEID%とかにして使う。これの喪失記事を探すときなどに。
%EXTERNALLINK% linkstoexternal=と併用して、出力したページに含まれる外部リンクを出力する。関連項目:こちら
%IMAGE% ファイルの絶対パスを出力。言い換えると、無変形・リンク無しの画像が表示される。マジックワードの{{filepath}}を使ったの同じ状態。
%PAGESEL% よくわからない。linksto=もしくはlinksfrom=と併用するらしい。
%IMAGESEL% よくわからない。

table関連[編集]

お手軽表作成キット。でも個人的にはformat=だけで組んだ方が分かりやすい気もしないでもない。例によって機能把握しきれてないし。

table[編集]

まずは基本。table=のみを使う場合について。

tableの基本[編集]

これにより、class="wikitable"の表で結果を出力してくれるようになる。ただし、どうやらinclude=との併用が必須らしい。が、実際は特に問題無い(参照)。

table=の使い方は簡単で、table=,列見出し1,列見出し2,列見出し3……としてやれば良い。表の左端のセルには変更不可のデフォルト仕様で[[%PAGE%|%TITLE%]]が入るので、見出しは必ず1つは必要。さらにinclude=等で呼び出したもの1つにつき1つのセルが作られる(呼び出すものが何もなくても空白のセルが作られる)ので、呼び出した分だけ列見出しも増やしてやればよい。

とりあえず#secseparatorsで例に出しているのと似た感じの表を出力する。{{#dpl:uses=Template:自由スタブ|include={自由スタブ}:1:2:3|table=,ページ名,引数1,引数2,引数3|count=3}}と入れてやると、

ページ名 引数1 引数2 引数3
ローゼンメイデン 逢沢 茅/素人のDPL講座/資料庫」は、漫画関連の書きかけ項目です 」
「 書きかけとかつまらないとかはどうでもいい、逢沢 茅/素人のDPL講座/資料庫
加筆 するんだ!」
カタカナ コノコウモク「カタカナ」ハ、シッピツシャガクラックヲキメタカノウセイモアリマスガ、イマハマダクソノヤマデス。 ヨリユカイ ニシテクダサルキョウリョクシャヲモトメテイマス。サァ、コレヲミテイルアナタモ、ハズカシガラズニカキコンデミヨー!
人間 この記事は書きかけです。狂った執筆者の 参加 を求めます。

と、このような表がばっちり出力される仕組み。テンプレート呼び出ししたものの間には自動で\n|-\n|を挟んでくれる親切設計。

tableを使う際の注意[編集]

さて、ここでtableを使う上での根本的な注意。tableはincludeとの併用が必須だと思うのです。

ものすごく単純に、{{#dpl:category=スタブ|table=,ページ名|count=3}}としてみる。ここで期待される出力は、

ページ名
カテゴリ:分野別スタブ
Uncyclopedia:スタブ
利用者:スタブ王

こんなのだが、実際には何故か、

ページ名

と、変なことになる。これを解決すべく、とりあえず{{#dpl:category=スタブ|include={abcd}:1|table=,ページ名|count=3}}としてみよう。当然、{{abcd}}なんてテンプレートは存在しないし、そんなテンプレートの引数1が呼び出せるはずもない。が、

ページ名
分野別スタブ
スタブ
スタブ王

とまあ、右端に余計な列が生成されているものの、とりあえず上の変な状況は解決する(この余計な列の活用については、下の#tablerowを参照)。このように、tableを使うにはincludeとの併用が必須なような気がするだが、もしも特に呼び込みたい項目がない時は、存在しないテンプレートの存在しない引数でも呼べば良いので問題はない。

だが、これに加えてさらなる注意点もある。それは、列の数は呼び込む箇所の数に支配されるという点。

例えば、{{#dpl:category=スタブ|include={abcd}:1|table=,ページ名,意味深な空白,意味深な空白|count=3}}とした時、列見出しを3つ用意したのだから、列を3列生成してほしいところ。しかし実際には、

ページ名 意味深な空白 意味深な空白
分野別スタブ
スタブ
スタブ王

となり、3列目はまともに生成されていない。これは{{#dpl:category=スタブ|include={abcd}:1:2|table=,ページ名,意味深な空白,意味深な空白|count=3}}としてやれば、

ページ名 意味深な空白 意味深な空白
分野別スタブ
スタブ
スタブ王

このように解決する。ちなみに、逆に{{#dpl:category=スタブ|include={abcd}:1:2|table=,ページ名,意味深な空白|count=3}}としてやれば、

ページ名 意味深な空白
分野別スタブ
スタブ
スタブ王

例によって余計な列が生成される。

以上のように、tableで列を正常に増やすには、includeする箇所を増やさなくてはならない。単純にtableを使っている分には「変な空欄が発生する」という程度の問題だが、tablerowを使うときにこれを忘れていると困るので、注意。

表のパラメータを設定[編集]

表のclassは初期状態でwikitableに設定されているが、変更したりstyle=等を仕込むことも可能。その場合は{{#dpl:uses=Template:自由スタブ|include={自由スタブ}:1:2:3|table=class="wikitable sortable" style="text-align:center;",ページ名,引数1,引数2,引数3|count=3}}という風にすれば、

ページ名 引数1 引数2 引数3
ローゼンメイデン 逢沢 茅/素人のDPL講座/資料庫」は、漫画関連の書きかけ項目です 」
「 書きかけとかつまらないとかはどうでもいい、逢沢 茅/素人のDPL講座/資料庫
加筆 するんだ!」
カタカナ コノコウモク「カタカナ」ハ、シッピツシャガクラックヲキメタカノウセイモアリマスガ、イマハマダクソノヤマデス。 ヨリユカイ ニシテクダサルキョウリョクシャヲモトメテイマス。サァ、コレヲミテイルアナタモ、ハズカシガラズニカキコンデミヨー!
人間 この記事は書きかけです。狂った執筆者の 参加 を求めます。

と、出てきてくれる。これで分かるように、例えばtable=A,B,Cとすると、出力時には、

{|A
|-
!B!!C

のように変換されている。なので例えば、{{#dpl:uses=Template:自由スタブ|include={自由スタブ}:1:2:3|table=,ページ名,colspan="2"{{!}}引数1と2,引数3|count=3}}とすれば、

ページ名 引数1と2 引数3
ローゼンメイデン 逢沢 茅/素人のDPL講座/資料庫」は、漫画関連の書きかけ項目です 」
「 書きかけとかつまらないとかはどうでもいい、逢沢 茅/素人のDPL講座/資料庫
加筆 するんだ!」
カタカナ コノコウモク「カタカナ」ハ、シッピツシャガクラックヲキメタカノウセイモアリマスガ、イマハマダクソノヤマデス。 ヨリユカイ ニシテクダサルキョウリョクシャヲモトメテイマス。サァ、コレヲミテイルアナタモ、ハズカシガラズニカキコンデミヨー!
人間 この記事は書きかけです。狂った執筆者の 参加 を求めます。

のように出力してくれる(関連:こちら)。

userformatを使う[編集]

いまだにいまいち分からないところ。tableと一緒にmode=userformatを使う場合には、ちょっとした制約がかかる模様。それは、「<後半>以外は使えない」というもの。

どう意味かというとそのままの意味で、formatを使うときformat=<最初>,<前半>,<後半>,<最後>と入力しますが、これの<後半>以外の部分は無視される。例えば、

<dpl>
uses=Template:自由スタブ
include={自由スタブ}:1:2:3
mode=userformat
table=,ページ名,固有URL,引数1,引数2,引数3,番号
format={{tl|自由スタブ}}の使用状況,||{{Server}}/index.php?curid=%PAGEID%,||%NR%,他、使用多数
count=3
</dpl>

とする。本来なら、

{{自由スタブ}}の使用状況

ページ名 固有URL 引数1 引数2 引数3 番号
ローゼンメイデン //ja.uncyc.org/index.php?curid=6 逢沢 茅/素人のDPL講座/資料庫」は、漫画関連の書きかけ項目です 」
「 書きかけとかつまらないとかはどうでもいい、逢沢 茅/素人のDPL講座/資料庫
加筆 するんだ!」 1
カタカナ //ja.uncyc.org/index.php?curid=155 コノコウモク「カタカナ」ハ、シッピツシャガクラックヲキメタカノウセイモアリマスガ、イマハマダクソノヤマデス。 ヨリユカイ ニシテクダサルキョウリョクシャヲモトメテイマス。サァ、コレヲミテイルアナタモ、ハズカシガラズニカキコンデミヨー! 2
人間 //ja.uncyc.org/index.php?curid=238 この記事は書きかけです。狂った執筆者の 参加 を求めます。 3

他、使用多数

のように出力されて欲しいところだが、実際には

{{自由スタブ}}の使用状況||//ja.uncyc.org/index.php?curid=6 |- |ローゼンメイデン |「逢沢 茅/素人のDPL講座/資料庫」は、漫画関連の書きかけ項目です 」
「 書きかけとかつまらないとかはどうでもいい、逢沢 茅/素人のDPL講座/資料庫 に |加筆 |するんだ!」||1||//ja.uncyc.org/index.php?curid=155 |- |カタカナ |コノコウモク「カタカナ」ハ、シッピツシャガクラックヲキメタカノウセイモアリマスガ、イマハマダクソノヤマデス。 |ヨリユカイ |ニシテクダサルキョウリョクシャヲモトメテイマス。サァ、コレヲミテイルアナタモ、ハズカシガラズニカキコンデミヨー!||2||//ja.uncyc.org/index.php?curid=238 |- |人間 |この記事は書きかけです。狂った執筆者の |参加 |を求めます。||3他、使用多数

と表示されてしまう。<後半>以外の部分は完全にスルー。おそらく原因は、table=の部分が<後半>以外の部分に強制的に値をぶち込むことで稼働しているものだからではないかと推察されるが、どうでも良いのでとりあえず「<後半>以外の部分は使えない」ということだけ覚えておきたい。

tablerow[編集]

tablerowを使うことで、tableを使った表のさらなる複雑化が可能。

tablerowの使い方[編集]

記述の仕方はformatやsecseparatorsにかなり近いものがあり、

tablerow=<左から2番目のセルの内容>,<列3の内容>,<列4の内容>……

と書く(あくまでtableの拡張なので、左端のセルは[[%PAGE%|%TITLE%]]が入るのは確定)。ちなみに「内容」と言っても純粋にセルの中身しか書けないわけではなく、セルの装飾などをいれることも可能で、

<dpl>
category=スタブ
include={abcd}:1:2:3
table=,ページ名,あ,い,う
tablerow=style="background-color:skyblue;"|あ,style="background-color:yellow;color:red;"|い,|う
count=3
</dpl>

とでもすれば、

ページ名
分野別スタブ
スタブ
スタブ王

このように装飾された表を作ることも可能。

ここで注意したいのは、列の数はincludeする項目の数に支配されるという点。この原則はtablerowを使っても有効なので、例えば上記例でinclude={abcd}:1:2:3としているのをinclude={abcd}:1とすると、

ページ名
分野別スタブ
スタブ
スタブ王

このように、2列目と3列目がまるまる消滅してしまう。

また、tableの自由度は相当に高いのだが、format用の変数%PAGE%しか使えない。実質、使い道がないに等しいので、変数を使いたい場合はuserformatも併用したほうが吉。

tablerow中のinclude[編集]

tablerow中にincludeで呼び出した内容を放り込むには、%%を使えば良い。使い方は簡単で、呼び出したい場所に%%と書けば、何回でも呼び出すことが可能。つまり、

<dpl>
uses=Template:自由スタブ
include={自由スタブ}:1:2:3
table=,ページ名,引数1,引数2,引数3
tablerow=style="background-color:skyblue;"|{{な|%%}},%%<br/>%%<br/>{{softbank:注:大事なことなので2回言いました。}},<span style="color:Green;">%%<span>
count=3
</dpl>

とすれば、

ページ名 引数1 引数2 引数3
ローゼンメイデン 逢沢 茅/素人のDPL講座/資料庫」は、漫画関連の書きかけ項目です 」
「 書きかけとかつまらないとかはどうでもいい、逢沢 茅/素人のDPL講座/資料庫
加筆
加筆
注:大事なことなので2回書きました。
するんだ!」
カタカナ コノコウモク「カタカナ」ハ、シッピツシャガクラックヲキメタカノウセイモアリマスガ、イマハマダクソノヤマデス。 ヨリユカイ
ヨリユカイ
注:大事なことなので2回書きました。
ニシテクダサルキョウリョクシャヲモトメテイマス。サァ、コレヲミテイルアナタモ、ハズカシガラズニカキコンデミヨー!
人間 この記事は書きかけです。狂った執筆者の 参加
参加
注:大事なことなので2回書きました。
を求めます。

こんなふざけた表も出せる。

colspanとrowspan[編集]

表のセルを結合させるcolspanとrowspan。tableとtablerowでも当然使えるが、結論からいってcolspanは使えるがrowspanはほぼ使えない。

colspanのは普通に使えて、

ページ名
分野別スタブ
スタブ
スタブ王
<dpl>
category=スタブ
include={abcd}:1:2:3:4
table=,ページ名,あ,い,う,え
tablerow=あ,い,う,え
count=3
</dpl>

の「あ」と「い」を繋げるなら、

<dpl>
category=スタブ
include={abcd}:1:2:3
table=,ページ名,あ,い,う,え
tablerow=colspan="2"|あ い,う,え
count=3
</dpl>

とすれば、

ページ名
分野別スタブ あ い
スタブ あ い
スタブ王 あ い

このように出来る(table内にcolspanを入れる使用例は)。

一方、rowspanで同じようにして

<dpl>
category=スタブ
include={abcd}:1:2:3
table=,ページ名,あ,い,う,え
tablerow=rowspan="2"|あ,い,う,え
count=3
</dpl>

とすると、

ページ名
分野別スタブ
スタブ
スタブ王

となって、表示が完全に崩れる。もし仮にrowspanを入れるとするなら、tableの方に入れて、

<dpl>
category=スタブ
include={abcd}:1:2:3:4
table=,ページ名,rowspan="4"|あ,い,う,え,お
tablerow=あ,い,う,え
count=3
</dpl>
ページ名
分野別スタブ
スタブ
スタブ王

くらいは出来るが、これに何の用途があるかは分からない。

tablesortcol[編集]

tableで出力した表を、どの列の順序に合わせた順で並べるかを決められる。tablesortcol=<数字>で指定し、何番目の列に合わせるかを入れる。tablesortcol=-<数字>にすると、並び順が逆になる。なお、デフォルトはtablesortcol=0で、これはordermethodの並び順そのままの状態。

が、何かミスがあるらしく上手く動作してくれない。class="wikitablesortable"にするかordermethodを使った方が楽な気がする。

include関連[編集]

呼び出す場所はformat=でいうところのformat=,,<ここ>,,に限定される。

secseparators[編集]

iclude=includepage=を使って他のページの内容をテンプレート呼び出しした際に、どのような形で出力内容に埋め込むかを指定できる。

指定の仕方は、format=<1つのめの呼び出しの前>,<1つのめの呼び出しの後ろ>,<2つのめの呼び出しの前>,<2つのめの呼び出しの後ろ>,……とし、この中ではformat=における変数が使える。

これを用いると、例えば呼び出した情報を区分した表を作成することも可能で、

<dpl>
uses=Template:自由スタブ
mode=userformat
format={|class="wikitable"\n!ページ名!!引数1!!引数2!!引数3,\n|-\n|[[%PAGE%]],,\n|}
include={自由スタブ}:1:2:3
secseparators=||,,||,,||,
count=3
</dpl>

とすると、

{|class="wikitable"
!ページ名!!引数1!!引数2!!引数3
|-
|[[ローゼンメイデン]]||「逢沢 茅/素人のDPL講座/資料庫」は、漫画関連の書きかけ項目です 」
「 書きかけとかつまらないとかはどうでもいい、逢沢 茅/素人のDPL講座/資料庫 に |加筆 |するんだ!」
|-
|[[カタカナ]]||コノコウモク「カタカナ」ハ、シッピツシャガクラックヲキメタカノウセイモアリマスガ、イマハマダクソノヤマデス。 |ヨリユカイ |ニシテクダサルキョウリョクシャヲモトメテイマス。サァ、コレヲミテイルアナタモ、ハズカシガラズニカキコンデミヨー!
|-
|[[人間]]||この記事は書きかけです。狂った執筆者の |参加 |を求めます。
|}

のように出力されて、

ページ名 引数1 引数2 引数3
ローゼンメイデン 逢沢 茅/素人のDPL講座/資料庫」は、漫画関連の書きかけ項目です 」
「 書きかけとかつまらないとかはどうでもいい、逢沢 茅/素人のDPL講座/資料庫
加筆 するんだ!」
カタカナ コノコウモク「カタカナ」ハ、シッピツシャガクラックヲキメタカノウセイモアリマスガ、イマハマダクソノヤマデス。 ヨリユカイ ニシテクダサルキョウリョクシャヲモトメテイマス。サァ、コレヲミテイルアナタモ、ハズカシガラズニカキコンデミヨー!
人間 この記事は書きかけです。狂った執筆者の 参加 を求めます。

と表示される。

multisecseparators[編集]

よく分からない。たぶんsecseparatorsの御親戚。

dominantsection[編集]

なんかincludepage=が云々。数字を指定して云々。あとはtable=との併用は無理らしい。

その他[編集]

改行コード[編集]

userformatで大活躍の\nプログラミングにおける改行コード)。これ、どうやら段落記号)でも代用が効くらしい。

{{#dpl}}内の{{#expr}}[編集]

{{#expr}}は妙に気難しく、{{#dpl}}に放り込むとうまく動いてくれない。

例えば、{{#dpl:category=スタブ|addpagecounter=true|mode=userformat|format=,*[[%PAGE%]]のアクセス数は{{#expr:%COUNT%*2}}の半分。\n,,|count=3}}としても、


となってしまう。どうも、{{#expr}}は%がお気に召さないらしい。

といっても解決策は簡単で、{{#dpl}}をではなく<dpl></dpl>を使って

<dpl>
category=スタブ
addpagecounter=true
mode=userformat
format=,*[[%PAGE%]]のアクセス数は{{#expr:%COUNT%*2}}の半分。\n,,
count=3
</dpl>

としてしまえば、

と、普通に結果を吐き出してくれる。どうやら、{{#expr}}{{#dpl}}を毛嫌いしているらしい。

この2人の微妙な関係を解消するには、正体不明の存在「²」(&#x00B2;)の協力が必要で、「{」と「}」を1つずつ入れ替えて{{#dpl:category=スタブ|addpagecounter=true|mode=userformat|format=,*[[%PAGE%]]のアクセス数は²{#expr:%COUNT%*2}²の半分。\n,,|count=3}}としてやると、

と、普通に動いてくれる。何故かは全く分からないが。

ちなみに、{{#expr}}の親戚の{{#ifexpr}}も当然のように{{#dpl}}と仲が悪いので、同様の対策が必要。

バーティカルバーの代用[編集]

{{#dpl}}の中で不用意にバーティカルバー(縦線、「|」のこと)を使うと、妙なエラーに繋がる事がある。

例えば、〈{#dpl:category=自己言及的なページ|nottitlematch=%.%|%1%|count=3}}とする。これが正常に実行されたならば、Category:自己言及的なページに属する「.」も「1」も記事名に含まないページが出力されるはずだ。しかし実際には、

Extension:DynamicPageList (DPL), version 3.3.2: Warning: No parameter option supplied for '%1%'. (Missing '=')

となってエラーが返され、nottitlematch=%1%の命令が無視されてしまっている。この原因は何かというと、%.%%1%の間のバーティカルバーが、nottitlematch=内を区切るものではなく、{{#dpl}}内の命令を区切るものとして読み取られてしまっているから。つまり、{{#dpl:category=自己言及的なページ|nottitlematch=%.%|<意味不明の命令>|count=3}}というように認識されてしまっている。

解決策は簡単で、3つほどある。1つめは、{{#dpl}}を諦めて<dpl></dpl>で括る方法。

<dpl>
category=自己言及的なページ
nottitlematch=%.%|%1%
count=3
</dpl>

としてやれば、

となって何の問題もない。

次の解決策は、表と条件文を併用する時にお世話になる{{!}}を使う方法。バーティカルバーを{{!}}に置き換えて、{{#dpl:category=自己言及的なページ|nottitlematch=%.%|%1%|count=3}}としてやると、

と、バーティカルバーをテンプレート呼び出ししているだけなのに正常に動作してくれる。

最後の解決策はバーティカルバーの代わりにブロークンバー(破断線、「¦」のこと)を使ってやる方法。ブロークンバーはDPL内でバーティカルバーと同様の働きをしてくれるらしく、先ほどと同様にバーティカルバーを置き換えて{{#dpl:category=自己言及的なページ|nottitlematch=%.%¦%1%|count=3}}とすれば、

というように、やはり問題なく動いてくれる。

ちなみに{{!}}やブロークンバーの用法はなにもこれだけでなく、例えば{{#ifexpr}}の中に放り込んで{{#dpl:category=スタブ|addpagecounter=true|mode=userformat|format=,*[[%PAGE%]]のアクセス数は2000²{#ifexpr:%COUNT%>=2000{{!}}以上¦未満}²\n,,count=3}}なんてしても

と、普通に動いてくれたりする。

linkstoexternal[編集]

linkstoexternal=は任意の文字列(%が使用可)を含むURLをページ内に含むページを出力してくれる。が、その出力に少々問題がある。例えば、{{#dpl:titlematch =%Wikim%|linkstoexternal=%h%|count=5}}としてみる。すると、

何故かこのように同一のページが複数出力される。この理由は%EXTERNALLINK%を使うとわかりやすく、


このように{{#dpl:titlematch =%Wikim%|format=,*[[%PAGE%]]・%EXTERNALLINK%\n,,|linkstoexternal=%h%|count=5}}による、どうやら出力ページ内に条件に合致する外部リンクが複数あると、その外部リンクを1つずつ別々の項目として吐き出すらしい。先ほどのリスト、count=15にすると実はテンプレート:Wikimail-ok以外にも条件に合致する記事はあったが、テンプレート:Wikimail-okが複数出力されたせいで出力されなかったことが分かる。

と、このようにlinkstoexternalcount=を一緒に使うときは、欲しい結果を見逃す可能性もあるので気をつけましょう、というお話。