我正在尝试将此dropdown用作Mediawiki模板,并允许在URL创建中使用Mediawiki参数(即{{PAGENAME}}
)。显然,这种html元素没有被解析。尝试$wgRawHtml = true;
导致显示模板,但是除了存在安全风险之外,没有其他方法可以解析元素。我确实找到了this template,但我想不通如何调整它以使其与相关下拉菜单的样式配合使用。
答案 0 :(得分:1)
在页面MediaWiki:Common.css
(或MediaWiki:Skinname.css
,如果只希望用于特定皮肤的页面)中,添加所需的CSS:
/* Dropdown Button */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
}
/* The container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display: inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
background-color: #f1f1f1;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
/* Links inside the dropdown */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #ddd;}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {display: block;}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {background-color: #3e8e41;}
如果模板中的所有内容都将成为内部链接,请将该模板设置为您的模板:
<div class="dropdown">
<div class="dropbtn">{{{title|Dropdown}}}</div>
<div class="dropdown-content"><!--
-->{{#if:{{{1|}}}|[[{{{dropdown|Foo|Bar|Baz}}
}]]}}<!--
-->{{#if:{{{2|}}}|[[{{{2}}}]]}}<!--
-->{{#if:{{{3|}}}|[[{Passing an equal sign ('=') to a parameter in a MediaWiki template}]]}}<!--
-->{{#if:{{{4|}}}|[[{{{4}}}]]}}<!--
-->{{#if:{{{5|}}}|[[{{{5}}}]]}}<!--
</div>
</div>
然后像这样调用它:
Foo
这将使下拉列表中包含指向您的Wiki页面Bar
,Baz
和<div class="dropdown">
<div class="dropbtn">{{{title|Dropdown}}}</div>
<div class="dropdown-content plainlinks"><!--
-->{{#if:{{{1|}}}|<span>{
的链接。a
}</span>}}<!--
-->{{#if:{{{2|}}}|<span>{{{2}}}</span>}}<!--
-->{{#if:{{{3|}}}|<span>{{{3}}}</span>}}<!--
-->{{#if:{{{4|}}}|<span>{{{4}}}</span>}}<!--
-->{{#if:{{{5|}}}|<span>{{{5}}}</span>}}<!--
--></div>
</div>
如果您必须支持外部链接或纯文本,请改用以下方法:
span
将CSS中的/* Links inside the dropdown */
.dropdown-content span {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content span:hover {background-color: #ddd;}
.dropdown-content a, .dropdown-content a:hover{
color: black;
text-decoration: none;
}
更改为{{dropdown|[[Foo]]|[https://www.google.com/ Google]|Plain text}}
,并添加一条规则以确保它们是黑色而不是蓝色:
Foo
然后,您可以像调用它一样
=
,它具有到页面{{dropdown|1=[https://duckduckgo.com/?q=foo&ia=web Search for Foo]|2=Bar}}
的链接,到Google的链接以及纯文本菜单项。
注意:如果参数包含等号({{1}}),则需要指定所有参数名称,如下所示:
{{1}}
另请参阅:{{3}}
答案 1 :(得分:0)
因此,我尝试使用此功能,但出现了一个问题,即下拉菜单之后的其余页面内容都在下拉菜单中。 IT部门似乎没有关闭任何参数,因此我不确定为什么要这样做。使用MW1.32