Extension:CategorySortHeaders
|
CategorySortHeaders Release status: stable |
|||
|---|---|---|---|
| Implementation | Hook | ||
| Description | Make custom headings in category pages, instead of just the first character headings | ||
| Author(s) | Brian Wolff (Bawolfftalk) | ||
| Last version | 0.2 (2011-07-05) | ||
| MediaWiki | 1.19 (1.17 with small patch) | ||
| Database changes | no | ||
| License | GPLv2 | ||
| Download | |||
|
|||
|
|||
| Check usage and version matrix; stats | |||
The CategorySortHeaders extension to allow specifying custom multi-character 'first-character' sorting headers to list pages under in categories, using syntax like [[category:Foo|^Header^Invisible part of sortkey]] or even just [[category:Foo|^Header^]].
Contents |
Usage[edit]
If you want a category to use a custom header, do [[category:Cat name|^header^OptionalInvisibleSortkey]] (or {{DEFAULTSORT:^header^Optionalsortkey}}. If you want to use the default first letter headers, just use categories as normal.
Download instructions[edit]
Installation[edit]
To install this extension, add the following to LocalSettings.php:
require_once( "$IP/extensions/CategorySortHeaders/CategorySortHeaders.php" );
- Run either update.php or updateCollation.php from the command line (Note, running the web installer in upgrade mode does not work due to bugzilla:17335)
| Do not set $wgCategoryCollation in LocalSettings.php. This extension defines its own collation, and must use that. |
Configuration[edit]
This extension has a single configuration option - $wgCategorySortHeaderAppendPageNameToKey. It defaults to true, which causes a sortkey of ^foo^ to be treated like ^foo^{{PAGENAME}}. If it is set to false, it will sort ^foo^ above ^foo^<any string here>. (In both cases, if there are two exactly same sort keys, the pagename will be used as a tie breaker). After changing this option you should run php updateCollations.php --force
On MediaWiki 1.17 and 1.18[edit]
| MediaWiki version: | ≤ 1.18 |
This extension needs rev:91436 (included in MediaWiki 1.19 and higher) to work. Basically on MediaWiki 1.17 and 1.18 you just need to add the following to includes/Collation.php (replace the function factory with the following):
static function factory( $collationName ) {
switch( $collationName ) {
case 'uppercase':
return new UppercaseCollation;
case 'uca-default':
return new IcuCollation( 'root' );
default:
# Provide a mechanism for extensions to hook in.
$collationObject = null;
wfRunHooks( 'Collation::factory', array( $collationName, &$collationObject ) );
if ( $collationObject instanceof Collation ) {
return $collationObject;
}
// If all else fails...
throw new MWException( __METHOD__.": unknown collation type \"$collationName\"" );
}
}
(Or alternatively just apply the changes in rev:91436)