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 に答える