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

时间:2010-08-13 13:41:17

标签: templates text location mediawiki

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

具体来说,之前第一个标题应显示文字,“此模板适用于整个页面”

或者,如果页面上的某个部分(标题后),则应显示“此模板特别适用于此部分”的文字。

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

2 个答案:

答案 0 :(得分:1)

我不这么认为。你最好的选择是制作多个模板。话虽如此,我确信你可以写一个扩展来做到这一点。

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

答案 1 :(得分:1)

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

<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>

注意:

  1. 这需要使用CSS extension
  2. 实际所做的是,如果标签直接位于标题下方,则显示某些文字,否则不显示任何文字。 (在此示例中,它在参数1中有默认文本,可以更改。)