Roan Kattouw <roan.kattouw <at> gmail.com> writes:
On the
/extensions directory, the "SpecialThesaurus.php" includes this code:
The
code you're quoting uses pretty old conventions, and I'm not sure
it'll still work correctly. What you wanna do is the following:
In extensions/Thesaurus/SpecialThesaurus.php:
class SpecialThesaurus extends SpecialPage
{
function __construct() {
parent::__construct( 'Thesaurus' );
}
function execute( $par ) {
global $wgOut;
$this->setHeaders();
$this->setTitle( 'Some title' );
$wgOut->addHTML( "Example HTML" );
// $par is the subpage parameter, i.e. for
Special:Thesaurus/Foo $par == 'Foo'
// To get the URL to this special page, use
$this->getTitle()->getFullURL()
}
}
In extensions/Thesaurus/Thesaurus.php:
$wgSpecialPages['Thesaurus'] = 'SpecialThesaurus';
$wgAutoloadClasses['SpecialThesaurus'] = dirname(__FILE__) .
'/SpecialThesaurus.php';
Note that the special page itself should also be in
extensions/Thesaurus/ , not in includes/ .
Roan Kattouw (Catrope)
Thank you for the quick response. I'm sorry to reply you back late.
Anyway, I copied and pasted the codes you suggested. I put the first one
in extensions/Thesaurus/SpecialThesaurus.php wherein the class SpecialThesaurus
is placed. So, the code looks like this:
<?php
class SpecialThesaurus extends SpecialPage
{
function __construct() {
parent::__construct( 'Thesaurus' );
}
function execute( $par ) {
global $wgOut;
$this->setHeaders();
$this->setTitle( 'Some title' );
$wgOut->addHTML( "Example HTML" );
// $par is the subpage parameter, i.e. for
Special:Thesaurus/Foo $par == 'Foo'
// To get the URL to this special page, use
$this->getTitle()->getFullURL()
}
}
?>
Then, I put the following lines in extensions/Thesaurus/Thesaurus.php:
<?php
$wgSpecialPages['Thesaurus'] = 'SpecialThesaurus';
$wgAutoloadClasses['SpecialThesaurus'] = dirname(__FILE__) .
'/SpecialThesaurus.php';
?>
Problems:
-Why is it that there's no output when I type in the URL? My URL
looks like this :
http://localhost/wikibits/index.php/SpecialThesaurus.php.
I am running the script on a localhost server. Is there something wrong with
the URL?
I can hardly test the special page...
-If I'll be adding some form elements, where shall I put them?on the
SpecialThesaurus.php or Thesaurus.php?
-So, for now, I have 2 files in the extensions/Thesaurus directory. Is it right?
Again, thanks a lot. (^_^)