2017-07-26 8 views
0

Je veux créer un modèle qui ajoute automatiquement le nom de la personne qui l'a utilisé dans une autre page.Y at-il un moyen d'insérer le nom de l'utilisateur qui a utilisé un modèle?

Par exemple, si j'avais le modèle suivant nommé "addedby":

Added by '~~~~'. 

Je veux quand je l'utilise dans la page comme ceci:

This page was {{addedby}} 

Le ~~~~ est automatiquement remplacé par le nom de l'utilisateur qui a utilisé le modèle.
Par exemple, si l'utilisateur « john » utilisé le modèle de la dernière page ci-dessus se présente comme suit:

This page was Added by 'john'. 

Est-ce possible? J'ai essayé d'utiliser ~~~~ mais quand j'enregistre le modèle ~~~~ est remplacé directement dans le modèle quand je l'enregistre, pas quand j'utilise le modèle dans l'une des pages.

+0

'Cette page a été {{addedby | ~~~~}}' – Bergi

+0

La principale raison pour laquelle je veux est d'être sans paramètres. Mais je suppose qu'il n'y a aucun moyen sans cela, ou est là? – user241205

Répondre

1

Il est impossible dans un modèle substituted. Vous pouvez utiliser le {{REVISIONUSER}} magic variable, mais il affiche toujours l'utilisateur qui a effectué la dernière modification de la page et non celui qui a ajouté le modèle. Vous devez en quelque sorte mettre le nom d'utilisateur dans le balisage de la page.

Vous pouvez utiliser un paramètre à votre modèle:

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

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

ou vous utilisez la substitution et le trick from Template:4~ pour insérer le nom d'utilisateur:

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

This page was {{subst:addedby}} 

(vous pouvez également faire show a warning when used without subst:)

+1

Une bonne façon de penser à cela est que le nom de l'utilisateur doit être stocké * quelque part *. Le fait qu'il soit stocké dans l'historique de la page n'est d'aucune aide car l'utilisation de cet identifiant signifierait que l'identifiant de révision devait être stocké quelque part - le même problème. Donc, sauf si vous utilisez 'subst' (dans ce cas, vous avez un certain contrôle sur ce qui est écrit dans l'article wikitext, et peut le faire pour que le nom d'utilisateur soit écrit) ou le nom ne sera pas stocké dans un endroit disponible analyseur wikitext. – Tgr

+0

Notez que '~~~' est la signature, pas le nom. Pour le nom, vous pouvez utiliser {{{subst: REVISIONUSER}}} 'probablement, au prix d'un comportement d'aperçu bizarre. – Tgr

+0

@Tgr Droit, je viens d'utiliser la signature parce que l'OP avait dans sa question aussi bien – Bergi