2017-07-26 133 views
0

我想製作一個模板,它會自動添加在另一個頁面中使用它的人的姓名。有沒有辦法插入使用模板的用戶名?

例如,如果我有以下模板命名爲「addedby」:

Added by '~~~~'. 

我想它,所以當我用它在頁面這樣的:

This page was {{addedby}} 

了~~~~會自動替換爲使用該模板的用戶的姓名。
例如,如果用戶「約翰」所使用的模板上面的最後一頁是這樣的:

This page was Added by 'john'. 

這可能嗎?我嘗試使用~~~~,但是當我保存模板時~~~~在保存時直接替換爲模板,而不是當我在任何頁面中使用模板時。

+0

'本頁面{{addedby | ~~~~}}' – Bergi

+0

主要的原因我想這是要無參數。但我想沒有它,沒有辦法,或者在那裏? – user241205

回答

1

這是不可能在一個聯合國substituted模板。您可以使用{{REVISIONUSER}} magic variable,但它始終顯示最後編輯頁面的用戶,而不是添加模板的用戶。您必須以某種方式將用戶名稱放在頁面標記中。

所以,你可以使用一個參數到您的模板:

Added by '{{{1}}}'. 

This page was {{addedby|~~~}} 

或使用替代和trick from Template:4~用於插入用戶名:

Added by '~~<noinclude></noinclude>~'. 

This page was {{subst:addedby}} 

(你也可以讓show a warning when used without subst:

+1

想想這個的好方法是用戶的名字必須存儲在某處*。它存儲在頁面歷史記錄中的事實沒有任何幫助,因爲使用它意味着修訂ID必須存儲在某處 - 同樣的問題。所以除非你使用'subst'(在這種情況下,你可以控制寫在文章wikitext中的內容,並且可以使用戶名寫入它),或者名稱不會存儲在任何可用的位置wikitext解析器。 – Tgr

+0

請注意'~~~'是簽名,而不是名稱。對於這個名字,你可以使用'{{{subst:REVISIONUSER}}}'來代替怪異的預覽行爲。 – Tgr

+0

@Tgr對,我剛剛使用了簽名,因爲OP在他的問題中也有 – Bergi

相關問題