我正在尝试为 cmsimple 自定义引导程序模板但是失败了。
原始功能看起来像这样:
function bootstrap_li() {
global $h, $hc, $l, $s;
$html = '<ul class="nav nav-pills nav-top">' . "\n";
foreach ($l as $index => $level){
if ($level > 1){
continue;
}
if (hide($index)){
continue;
}
if ($s == $index){
$html .= '<li class="active"><a href="#">' . $h[$index] . '</a></li>' . "\n";
}
else {
$html .= '<li>' . a($index, '') . $h[$index] . '</a></li>' . "\n";
}
}
$html .= '</ul>';
return $html;
}
因为如果列表链接是实际页面,每个列表元素都应该有自己的背景图像交换,我将其更改为:
function bootstrap_li() {
global $h, $hc, $l, $s;
$html = '<ul class="nav nav-pills nav-top";">
<li><a class="nav-about" href="/?About">About</a></li>
<li><a class="nav-members" href="/?Members">Members</a></li>
<li><a class="nav-calendar" href="/?Calendar">Calendar</a></li>' . "\n";
$html .= '</ul>';
return $html;
}
...除了活动链接不改变其样式之外,它的工作原理。 我想通过输入if循环来完成这项工作,例如:`
function bootstrap_li() {
global $h, $hc, $l, $s;
$html = '<ul class="nav nav-pills nav-top";">
<li><a class=" ' . "\n";
if ($_SERVER['REQUEST_URI'] == '/?About.php'){
echo 'hover.nav-about';
} else {
echo 'navb-about';
}
$html .= '
" href="/?About">About</a></li>
<li><a class="nav-members" href="/?Members">Members</a></li>
<li><a class="nav-calendar" href="/?Calendar">Calendar</a></li>' . "\n";
$html .= '</ul>';
return $html;
}
......但这不起作用。在浏览器中,list元素在没有链接标记且没有指定的CSS样式的情况下进行回显。
我假设我没有正确使用语法。我做错了什么?
答案 0 :(得分:0)
有些事情乍一看似乎很不对劲。除了“if-loops”不是一个东西(它只是一个desicion和action),你也只回显你的类属性,而不是将它添加到你的$ html变量:
statue of ID
例如它看起来像这样
if ($_SERVER['REQUEST_URI'] == '/?Über-uns.php'){
echo 'hover.navbutton-ueber-uns';
} else {
echo 'navbutton-ueber-uns';
}
除此之外,我没有看到任何显而易见的错误,所以我建议只是尝试一下并更新你的结果。