Difference between revisions of "Template:When"
(how to use #when with #dpl) |
(#when code) |
||
| Line 1: | Line 1: | ||
This template is not actually used, the ''#when'' parser-function is used to add time information to articles. Just add a single parameter which can be arbitrarily formatted time information, for example: | This template is not actually used, the ''#when'' parser-function is used to add time information to articles. Just add a single parameter which can be arbitrarily formatted time information, for example: | ||
| − | <tt><nowiki>{{#when:2009/4/24}}</nowiki></tt> ''- best to do dates backwards like this otherwise it tries to use some weird American format'' | + | :<tt><nowiki>{{#when:2009/4/24}}</nowiki></tt> ''- best to do dates backwards like this otherwise it tries to use some weird American format'' |
| + | :<tt><nowiki>{{#when:24 apr 2009}}</nowiki></tt> | ||
| + | :<tt><nowiki>{{#when:24 apr, 4:30pm}}</nowiki></tt> ''- current year is used here since not specified'' | ||
| + | The function expands to a set of category links to categorise the article into year, month, day-of-month, full-weekday-name and time (24 hour HH:MM:SS format). Articles exhibiting time can then be matched with a DPL query, for example: | ||
| + | :<tt><nowiki>{{#dpl:category=2006|category=April}}</nowiki></tt> | ||
| + | The parser function which adds this is very simple consisting of the following code in the ''LocalSettings.php'' file. | ||
| + | <php> | ||
| + | $wgExtensionFunctions[] = 'wfSetupWhen'; | ||
| + | $wgHooks['LanguageGetMagic'][] = 'wfWhenLanguageGetMagic'; | ||
| − | + | function wfSetupWhen() { | |
| + | global $wgParser; | ||
| + | $wgParser->setFunctionHook('when','wfExpandWhen'); | ||
| + | return true; | ||
| + | } | ||
| − | + | function wfExpandWhen(&$parser,$when) { | |
| − | + | $time = strtotime($when); | |
| − | + | $cats = ''; | |
| + | foreach(array('T','A','d','B','Y') as $f) $cats .= '[[Category:'.strftime("%$f",$time).']]'; | ||
| + | return $cats; | ||
| + | } | ||
| − | + | function wfWhenLanguageGetMagic(&$magicWords,$langCode = 0) { | |
| + | $magicWords['when'] = array(0,'when'); | ||
| + | return true; | ||
| + | } | ||
| + | </php> | ||
Revision as of 11:49, 25 April 2007
This template is not actually used, the #when parser-function is used to add time information to articles. Just add a single parameter which can be arbitrarily formatted time information, for example:
- {{#when:2009/4/24}} - best to do dates backwards like this otherwise it tries to use some weird American format
- {{#when:24 apr 2009}}
- {{#when:24 apr, 4:30pm}} - current year is used here since not specified
The function expands to a set of category links to categorise the article into year, month, day-of-month, full-weekday-name and time (24 hour HH:MM:SS format). Articles exhibiting time can then be matched with a DPL query, for example:
- {{#dpl:category=2006|category=April}}
The parser function which adds this is very simple consisting of the following code in the LocalSettings.php file. <php> $wgExtensionFunctions[] = 'wfSetupWhen'; $wgHooks['LanguageGetMagic'][] = 'wfWhenLanguageGetMagic';
function wfSetupWhen() {
global $wgParser;
$wgParser->setFunctionHook('when','wfExpandWhen');
return true;
}
function wfExpandWhen(&$parser,$when) {
$time = strtotime($when);
$cats = ;
foreach(array('T','A','d','B','Y') as $f) $cats .= ;
return $cats;
}
function wfWhenLanguageGetMagic(&$magicWords,$langCode = 0) {
$magicWords['when'] = array(0,'when');
return true;
}
</php>



