2017-07-26 99 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

相关问题