1

这是我第一次在stackoverflow上发帖!我是 mediawiki 用户,我正在尝试更改扩展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 的完全新手,所以我只是想知道,这样做的正确方法是什么?

4

1 回答 1

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
于 2015-02-13T21:53:00.833 回答