2016-11-09 56 views
1

如何添加複選框到Mediawiki編輯頁面?我爲AlternateEditPreview添加了一個擴展,並且希望它是可選的,因此最終能夠以擴展代碼中的程序檢查其狀態。找不到這種事情的例子。修改MediaWiki預覽頁面添加複選框?

+0

有了'AlternateEditPreview'你可以改變幾乎無論如何你要編輯的看法,我想。究竟是什麼不適合你?你有一些代碼可以分享嗎? – leo

+0

進一步思考,我真正想要做的是在預覽按鈕旁邊添加一個「檢查樣式」按鈕,單擊該按鈕時,即使我可以處理或直接發送到處理程序,也會引發自定義。 Second-best選項將是預覽按鈕旁邊的「檢查樣式」複選框,在AlternateEditPreview擴展中,我可以通過編程檢查狀態。 我想知道如何修改標準頁面的佈局。它是通過修改傳遞給擴展的$編輯器對象來完成的嗎? –

+0

這正是我最終做的,正是我需要的 - 謝謝! –

回答

-3

打開你的Mediawiki的安裝文件夾,然後導航到
/includes/EditPage.php
做一個備份副本之前你
開始編輯。
在線3431
開始編輯按鈕的代碼。

+1

像這樣修改核心的指令是可怕的。在我檢出的MediaWiki的當前副本上,EditPage.php的第3431行是'$ oldContent = $ this-> getCurrentContent();',與此無關。您甚至沒有指定MediaWiki版本,即使這樣,https://www.mediawiki.org/wiki/Do_not_hack_MediaWiki_core也適用。 – Krenair

+0

https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker – jehovahsays

+0

如果您是熟悉使用MediaWiki的有經驗的開發人員,請訪問Developer Hub。
https://www.mediawiki.org/wiki/Developer_hub – jehovahsays

0

我會推薦調查WikiEditor擴展名。然而,模塊是用JavaScript編寫的,而不是PHP,因此在嘗試編寫模塊之前應該先熟悉它。

1

原來它很容易解決,只需將此添加到我們已經存在的擴展名:

//Add "Check style" checkbox to standard Edit page 
    public static function onEditPageBeforeEditChecks(&$editpage, &$checks, &$tabindex) 
    { 
      $checks[] = "<input name=\"wpStylecheck\" type=\"checkbox\" value=\"1\" tabindex=\"5\" accesskey=\"x\" id=\"wpStylecheck\" /> <label for='wpStylecheck' id='mw-editpage-stylecheck' title=\"Check style [x]\">Check style</label>"; 

    }