A InfoWiki wikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „== TAG kiterjesztése == <code Lang="xml"> <sample arg1="xxx" arg2="xxx"> ...input... </sample> </code> === TAG kiterjesztés regisztrálása === * első lépésbe...”) |
Aktuális változat (2008. november 22., 19:51) (lapforrás) (Új oldal, tartalma: „== TAG kiterjesztése == <code Lang="xml"> <sample arg1="xxx" arg2="xxx"> ...input... </sample> </code> === TAG kiterjesztés regisztrálása === * első lépésbe...”) |
Aktuális változat
TAG kiterjesztése
<sample arg1="xxx" arg2="xxx"> ...input... </sample>
TAG kiterjesztés regisztrálása
- első lépésben a regisztráló függvényt kell hozzáadni
- aztán magát a tag kiterjesztést kell felparaméterezni
- aztán megírni a feldolgozó függvényt
1. Init függvény regisztrálása:
$wgExtensionFunctions[] = 'efSampleParserInit';
2. TAG kiterjesztés definiálása:
function efSampleParserInit() { global $wgParser; $wgParser->setHook( 'sample', 'efSampleRender' ); return true; }
3. A függvény megírása:
function efSampleRender( $input, $args, $parser ) { return htmlspecialchars( $input ); }
Ahol
- $input a tag-ek közötti tartalom
- $args asszociatív tömb a paraméterekkel
- $parser az egy szinttel fölöttünk lévő parser objektum, aki bennünket hívott
Amennyiben a $parser objektumot akarjuk használni valamely szövegrész feldolgozására, az alábbi módon tehetjük azt meg:
$output = $parser->recursiveTagParse( $input ); return '<div class="befoglalo">' . $output . '</div>';
Annak lekérdezésére, hogy épp ki olvassa a lapot, a $wgUser példányt kell használni.
- getName() adja meg a nevét,
- getRealName() adja meg a nevét,
- getGroups() adja meg milyen csoportokba tartozik,
- addGroup($grp) adja hozzá valamely csoporthoz,
- getGroupMember( $group ) ellenőrzi, hogy adott csoportba tartozik-e,