[英]adding html to a php function
我正在尝试为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样式。
我假设我没有正确使用语法。 我究竟做错了什么?
乍一看有些事情似乎是错误的。 除了“ if-loops”不是事物(它只是一个目标和动作)之外,您还仅回显类属性,而不是将其添加到$ html变量中:
if ($_SERVER['REQUEST_URI'] == '/?Über-uns.php'){
echo 'hover.navbutton-ueber-uns';
} else {
echo 'navbutton-ueber-uns';
}
例如它应该看起来像这样
if ($_SERVER['REQUEST_URI'] == '/?Über-uns.php'){
$html.= 'hover.navbutton-ueber-uns';
} else {
$html.= 'navbutton-ueber-uns';
}
除此之外,我看不到任何明显的错误提示,所以我建议尝试一下并更新您的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.