Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 我是否可以获取mediawiki模板来根据其在页面上的位置更改显示文本?_Templates_Text_Location_Mediawiki - Fatal编程技术网

Templates 我是否可以获取mediawiki模板来根据其在页面上的位置更改显示文本?

Templates 我是否可以获取mediawiki模板来根据其在页面上的位置更改显示文本?,templates,text,location,mediawiki,Templates,Text,Location,Mediawiki,我想创建一个MediaWiki模板,根据它在页面上的位置显示不同的文本 具体来说,在第一个标题之前,它应该显示类似“此模板适用于整个页面”的文本 或者,如果它位于页面的某个部分内(标题后),则应显示类似“此模板特别适用于此部分”的文本 我知道有些模板使用“If”(比如);有没有办法检测模板在页面上的位置?我不这么认为。最好的办法是制作多个模板。尽管如此,我相信你可以编写一个扩展来实现这一点 另一种方法是在模板中添加一个变量,根据该变量所在的节进行更改 在同事的大力帮助下,答案如下。将其放入模板中

我想创建一个MediaWiki模板,根据它在页面上的位置显示不同的文本

具体来说,在第一个标题之前,它应该显示类似“此模板适用于整个页面”的文本

或者,如果它位于页面的某个部分内(标题后),则应显示类似“此模板特别适用于此部分”的文本


我知道有些模板使用“If”(比如);有没有办法检测模板在页面上的位置?

我不这么认为。最好的办法是制作多个模板。尽管如此,我相信你可以编写一个扩展来实现这一点


另一种方法是在模板中添加一个变量,根据该变量所在的节进行更改

在同事的大力帮助下,答案如下。将其放入模板中(然后从包含标题/说明/等文本的所有其他模板调用该模板)


div.headingText{颜色:蓝色;边框:2px纯蓝色;背景:浅青色;宽度:461px;填充:0.5em 0.5em 0.5em 0.5em;显示:无;页边距底部:-6px;}
h2+div.headingText,h3+div.headingText,h4+div.headingText,h5+div.headingText,h6+div.headingText{显示:块;页边距顶部:5px;}
“{{1}此[[tag]]仅适用于此节。}}”
你的解释文本
注:

  • 这需要使用
  • 这个实际上所做的是,如果标签直接包含在标题下方,则显示特定文本,否则不显示文本。(在本例中,参数1中有默认文本,可以更改。)

  • 你的意思是,你确定有人可以-不是我!=:-)是的,多个模板当然是一种痛苦,因为你要么需要在多个模板中进行更改,要么需要使用多个模板的组合。我查看了维基百科——它们似乎使用了多模板方法。但是我很惊讶-这应该是一个常见的问题。PS@Adrian-你可能会对这个感兴趣:
    <includeonly><css>
    div.headingText { color: blue; border: 2px solid blue; background: lightcyan; width: 461px; padding:0.5em 0.5em 0.5em 0.5em; display: none; margin-bottom:-6px; }
    
    h2 + div.headingText, h3 + div.headingText, h4 + div.headingText, h5 + div.headingText, h6 + div.headingText { display:block; margin-top:5px; }
    </css>
    <div class="headingText">'''{{{1|This [[tag]] applies only to this section.}}}'''</div></includeonly><noinclude>
    your explanatory text
    </noinclude>