有没有办法插入使用模板的用户的名字?

时间:2017-07-26 13:19:30

标签: mediawiki markup

我想制作一个模板,自动添加在另一页中使用它的人的名字。

例如,如果我有以下名为&#34的模板;由":

添加
Added by '~~~~'.

当我在页面中使用它时,我希望如此:

This page was {{addedby}}

~~~~会自动替换为使用该模板的用户的名字 例如,如果用户' john'使用模板,上面的最后一页看起来像这样:

This page was Added by 'john'.

这可能吗?我尝试使用~~~~,但是当我保存模板时,~~~~在我保存模板时直接替换模板,而不是在我在任何页面中使用模板时。

2 个答案:

答案 0 :(得分:1)

substituted模板中无法实现。您可以使用{{REVISIONUSER}} magic variable,但它始终显示对页面进行最后编辑的用户而不是添加模板的用户。您必须以某种方式将用户名放在页面标记内。

因此,您可以在模板中使用参数:

Added by '{This page was {{addedby|~~~}}
}'.

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

或您使用替换和trick from Template:4~插入用户名:

This page was {{subst:addedby}}

<div class="contentSection">
    <a class="popupBtn" data-modal="modal-window-one">Open Me!</a>
</div>

<div id="modal-window-one" class="popupModal modal">
    <span class="close">&times;</span>
    <div class="modalContent">
        <p>Here's some content!</p>
    </div>
</div>

<div class="contentSection">
    <a class="popupBtn" data-modal="modal-window-two">...Or Open Me!</a>
</div>

<div id="modal-window-two" class="popupModal modal">
    <span class="close">&times;</span>
    <div class="modalContent">
        <p>Here's some different content!</p>
    </div>
</div>


var modal = document.getElementsByClassName('popupModal');
var btn = document.getElementsByClassName("popupBtn");
var span = document.getElementsByClassName("close")[0];

for (var i = 0; i < btn.length; i++) {
    var thisBtn = btn[i];
    thisBtn.addEventListener("click", function(){
        var modal = document.getElementById(this.dataset.modal);
        modal.style.display = "block";
    }, false);
}

span.onclick = function() {
    modal.style.display = "none";
}

window.onclick = function(event) {
    if (event.target == modal) {
        modal.style.display = "none";
    }
}

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

答案 1 :(得分:0)

我认为目前没有特定的延伸。与我建议的最接近的是https://www.mediawiki.org/wiki/Extension:LastModified