Open main menu

Jak włączyć rozszerzenie?Edit

Skopiuj plik PHP rozszerzenia do katalogu extensions i dodaj linię require_once( "extensions/NazwaRozszerzenia/NazwaRozszerzenia.php" ); do twojego pliku LocalSettings.php.

Zobacz też Manual:Extensions#Installing an extension

Jak napisać moje własne rozszerzenie?Edit

Jak mogę wyłączyć cache'owanie stron za pomocą mojego rozszerzenia?Edit

Jeżeli tworysz np. stronę specjalną:

 global $wgOut;
 $wgOut->enableClientCache(false);

Dla haków tagów parsera:

 function wfSomeHookFunction( $parser, $foo, $bar ) {
     $parser->disableCache();
     ...
 }
  • Wyłączanie pamięci podręcznej po stronie witryny. Może to zwiększyć obciążenie generowane dla serwera. Aby wyłączyć cache'owanie, wstaw poniższy kod do pliku LocalSettings.php:
# Client-side caching:

/** Allow client-side caching of pages */
$wgCachePages       = false;

/**
 * Set this to current time to invalidate all prior cached pages. Affects both
 * client- and server-side caching.
 * You can get the current date on your server by using the command:
 *   date +%Y%m%d%H%M%S
 */
$wgCacheEpoch = 'date +%Y%m%d%H%M%S';

Zalecamy jednak użyć funkcji date zamiast pobierania z systemu (system może mieć wyłączoną tę możliwość, czas może być zły lub uruchomiono php na serwerze windows...)

$wgCacheEpoch = date('YmdHis');

Jak renderować wikitekst za pomocą mojego rozszerzenia?Edit

Strony specjalneEdit

Jeżeli renderowany jest kod wyjściowy nie będący tematem analizatora cache np. na stronach specjalnych:

global $wgOut;
$wgOut->parse( $text );

gdzie $text to wikitekst do przetworzenia.

Haki parseraEdit

Zobacz Manual:Tag extensions#How do I render wikitext in my extension?

Jak mogę włączyć wyszukiwanie w zawartości wyjściowej rozszerzenia (dynamiczna zawartość)?Edit

Jest to niemożliwe. Dynamiczna zawartość nie może być doączona do indeksu statycznego wyszukiwarki.

Jak mogę zapobiec modyfikację wyjściowego kodu HTML rozszerzenia?Edit

Jak mogę przetwarzać parametry XML w rozszerzeniach tagów?Edit

Rozszerzenia i szablonyEdit

"NaodW..." lub "UNIQ..."Edit

W poprzednich wersjach MediaWiki, another problem with templates and extensions was the appearance of "NaodW..." or "UNIQ..." strings in the template output. MediaWiki 1.5(.1) has problems with some PHP versions that causes that output. You should upgrade to MediaWiki 1.5.2 or later.

Another clue is that your extension (or another one installed) might be using parse() function instead of recursiveTagParse(). Then change it to recursiveTagParse (using the parser given in parameter or $wgParser).

Jak mogę określić czy strona jest zabezpieczona czy nie?Edit

Użyj klasy Title class i metody isProtected( ) np.

 function extensionFunction() {
    # Assume $title is the title object
    if( $title->isProtected( 'edit' ) ) {
       # Zabezpieczona przed edycją
    } else {
       # Nie zabezpieczona przed edycją
    }
 }

Jakie prawa ustawić na katalog extensions?Edit

All the scripts in the /wiki structure need to be readable and executable by the user that PHP runs as. All perms are usually 755 and owner/group being a different user. The LocalSettings.php file is created by the script on setup and so will be an example to set the rest by.

Jak mogę ukazać moje rozszerzenie w Special:Version?Edit