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 39% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎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 [$wiki-pg 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 $context-src. 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). Since 1.19, Context objects have a getWikiPage() to access the corresponding WikiPage object. Where you get this context object from depends on where your code is running. Many major classes extend ContextSource, which means you can just do $someObject->getContext() to get the context and $someObject->getWikiPage() for the WikiPage object. As of this writing that includes ApiBase, CategoryViewer, ChangesList, DerivativeContext, DifferenceEngine, HTMLForm, ImportReporter, IndexPager, OutputPage, RevisionListBase, and Skin. Some other classes support getContext() which don't have ContextSource as a parent class, such as SpecialPage (So if you're writing a SpecialPage, you can often do $this->getContext() to get the context).

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.
  • The displayed revision's ID is accessible through OutputPage->getRevisionId() or Skin->getRevisionId() and the fact that this is the current revision of the page can be accessed through Skin->isRevisionCurrent() (instead of Article->isCurrent())
  • The text of the latest revision of the current page (not necessarily of the displayed revision) is accessible through WikiPage->getRawText(); depending on what you use Article->getContent() for, you may prefer this one.

Sample Code

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

Einzelnachweise