2016-04-14 1 views
1

MediaWiki 1.26.2では、ページタイトルの一部を取得して#ifexist文で使用するにはどうすればよいですか?MediaWikiのページタイトルの一部を取得するにはどうすればよいですか?

ページが存在するかどうかをユーザに警告する、MediaWikiの別の関連記事にリンクする必要があります。そのために私は次のようにしました:

私はARTICLE_NAMEというページがあります。それに関連付けられたページはNotes:ARTICLE_NAMEです。 "Notes:"は名前空間ではなく、ARTICLE_NAMEという文字列です。ポリシーの制約のため、Notesの名前空間を作成できません。 ARTICLE_NAMEページで

、次のコードは、ノートが存在するかどうかを確認するために行く:

{{#ifexist: Notes:{{PAGENAME}} | {{alert_box}} | } 

をのでARTICLE_NAMEが、私は素敵なカスタムアラートボックス事実を強調し、それへのリンクを取得し、関連Notes:ARTICLE_NAMEページaを持っている場合。

私は逆を試してみると私の問題が始まります。 Notes:ARTICLE_NAMEページでは、ARTICLE_NAMEという名前のページがある場合、警告ボックスを表示するためのメモが必要です。予想通り{{PAGENAME}}Notes:ARTICLE_NAMEをもたらすため、コード

{{#ifexist: {{PAGENAME}} | {{alert_box}} | } 

は何もしません。

{{PAGENAME}}の代わりにそれを使用して#ifexistコードで確認するにはどうすればいいですか?

答えて

0

だから、周りいじくる後、私は方法を見つけた:#ifexistに対してそれを入れて、次にページ名からNotes:を削除します。

{{#replace: {{PAGENAME}}|Notes:|}} 

この方法は、それは何もNotes:を置き換えます。私は魔法の言葉がARTICLE_TITLE命名と判断するので、ノートに行くのコードはこれです:

{{#ifexist: :{{ARTICLE_TITLE}} | {{Alert_box}} | }} 
0

#pos#ifeqを組み合わせて使用​​します。

例:

{{#ifeq:{{#pos:text1|text2}}| |text1 does not contain text2|text1 contains text2}} 
+0

こんにちは、返信に感謝を。あなたのコードを試してみるのに時間を費やしましたが、それを動作させる方法を見つけることができませんでした。しかし、私は別の解決策を取って代わり、ノート:ビットをページネームから削除することで終了しました。とにかくありがとう! –

関連する問題