这是我在stackoverflow上的第一篇文章!我是一名mediawiki用户,我正在尝试更改扩展名code的Autoincrement,这样就不会输出1,2,3而是创建text1,text2,text3(带文本)只是在扩展通常会创建的数字前面的某个词。)
我尝试更改Autoincrement.php文件以便
function wfGroupHookSwitch( &$parser, &$varCache, &$index, &$ret ) {
if ( $index === 'group' )
$ret = ++$this->mCount; // No formatNum() just like url autonumbering
return true;
}
看起来像
function wfGroupHookSwitch( &$parser, &$varCache, &$index, &$ret, &$text ) {
if ( $index === 'group' )
$text = 'sometexthere';
$ret = ++$this->mCount; // No formatNum() just like url autonumbering
return true;
}
尽管我尝试了所有的变化,但似乎没有什么工作做得很好。我是php的新手,所以我只是想知道,这样做的正确方法是什么?
答案 0 :(得分:0)
没有必要构建自定义扩展来执行此操作。我建议
变量: http://www.mediawiki.org/wiki/Extension:Variables
和ParserFunctions: http://www.mediawiki.org/wiki/Help:Extension:ParserFunctions
创建模板:使用此内容自动增量:
<includeonly>{{#if: {{#var:AutoincrementVariable}}|{{#vardefineecho:AutoincrementVariable|{{#expr:{{#var:AutoincrementVariable}} + 1}} }}|{{#vardefineecho:AutoincrementVariable|1}} }}</includeonly>
重复模板调用的示例用法和输出应如下所示:
SomeText{{Autoincrement}}
SomeText{{Autoincrement}}
SomeText{{Autoincrement}}
产生
SomeText1
SomeText2
SomeText3