2016-04-14 7 views
1

In MediaWiki 1.26.2, wie kann ich einen Teil eines Seitentitels greifen, um ihn in einer #ifexist-Anweisung zu verwenden?Wie kann ich einen Teil des MediaWiki-Seitentitels übernehmen?

Ich muss zu verschiedenen aber verwandten Artikeln in MediaWiki verknüpfen, den Benutzer warnen, wenn eine Seite existiert oder nicht. Dafür habe ich folgendes gemacht:

Ich habe eine Seite mit dem Namen ARTICLE_NAME. Damit verbunden ist eine Seite mit dem Namen Notes:ARTICLE_NAME. "Notes:" ist kein Namespace, sondern ein String wie ARTICLE_NAME ist. Ich kann aufgrund von Richtlinieneinschränkungen keinen Namespace für Notes erstellen.

In ARTICLE_NAME Seite geht der folgende Code zu überprüfen, ob die Noten vorhanden:

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

Also, wenn ARTICLE_NAME hat eine ähnliche Notes:ARTICLE_NAME Seite ein I eine schöne benutzerdefinierte Warnmeldung erhalten auf den Umstand, und verlinkt.

Mein Problem beginnt, wenn ich das Gegenteil versuche. In der Notes:ARTICLE_NAME Seite brauche ich die Notizen, um eine Warnmeldung anzuzeigen, wenn es eine Seite mit dem Namen ARTICLE_NAME gibt. Der Code

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

tut nichts, weil {{PAGENAME}}Notes:ARTICLE_NAME bringt wie erwartet.

Wie bekomme ich was immer kommt nach dem "Notes:", mit dem statt {{PAGENAME}}, um es mit dem #ifexist Code zu überprüfen?

Antwort

0

So nach etwa Ausmisten ich einen Weg gefunden: Entfernen Sie die Notes: vom Seitennamen dann legt sie gegen die #ifexist.

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

So ersetzt es die Notes: mit nichts. Ich machte, dass ein Zauberwort namens ARTICLE_TITLE, so dass der Code, die Noten geht, ist dies:

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

Es funktioniert durch Kombination #pos mit #ifeq.

Beispiel:

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

hallo, danke für die Antwort. Ich habe einige Zeit mit deinem Code verbracht, habe es aber nicht gefunden, um es zum Laufen zu bringen. Ich beendete jedoch mit einer alternativen Lösung, indem Sie das Notes: Bit von Seitenname ersetzen und entfernen. Danke trotzdem! –

Verwandte Themen