Handbuch:$wgArticle

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgArticle and the translation is 82% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎polski • ‎português do Brasil • ‎日本語

Details

Das Article-Objekt fasst den Zugang zur "page" Tabelle der Datenbank zusammen. Das Objekt stellt einen Artikel dar und hält den Zustand, wie den text (im Wikitext Format), Flags, etc., des Artikels vor.

[CategoryPage CategoryPage] und [ImagePage ImagePage] sind Kind-Objekte vom Article Objekt und werden speziell für Kategorie- und Bilderseiten verwendet.

Ersatz

Nutze das Context Objekt, um zu bekommen, was du benötigst. Seit 1.19 enthält das Context Objek die Funktion getWikiPage(), um auf das aktuelle [WikiPage WikiPage] Objekt zuzugreifen. Woher du das Context-Objekt beziehen kannst, hängt davon ab, wo dein Code ausgeführt wird. Viele der wichtigsten Klassen erweitern ContextSource, was bedeutet, dass du einfach $someObject->getContext() nutzten kannst, um das Context Objekt zu erhalten und $someObject->getWikiPage() für das WikiPage Objekt. Zum Zeitpunk, als dieses Handbuch verfasst wurde, gilt dies u.A. für die Klassen ApiBase, CategoryViewer, ChangesList, DerivativeContext, DifferenceEngine, HTMLForm, ImportReporter, IndexPager, OutputPage, RevisionListBase, and Skin ContextSource. Einige andere Klassen, welche nicht ContextSource als Eltern-Klasse haben, wie bspw. SpecialPage, bieten eine Funktion getContext() an, um das Context-Objekt zu erhalten (daher kannst du beim Erstellen einer SpecialPage $this->getContext() verwenden, um das Context-Objekt zu erhalten).

Wenn du eine Methode aus der Klasse Article benötigst, die nicht in WikiPage enthalten ist und du Zugriff auf das Context-Objekt hast, kannst du Article::newFromTitle( $context->getTitle(), $context ); verwenden, doch beachte folgendes:

  • Die angezeigte Revisions-ID ist über OutputPage->getRevisionId() oder Skin->getRevisionId() erreichbar und um zu prüfen, ob dies die aktuelle Revision der Seite ist, kannst du Skin->isRevisionCurrent() verwenden (anstelle von Article->isCurrent())
  • Der Text der letzten Revision der aktuellen Seite (nicht unbedingt die derzeit angezeigte Revision) is über WikiPage->getRawText() erreichbar; abhängig für was du Article->getContent() verwendest, bevorzugst du möglicherweise diese.

Sample Code

Use $article->getPage()->getContent()->getNativeData() to replace this.

Einzelnachweise