将html添加到php函数中

时间:2015-10-26 11:48:40

标签: php html twitter-bootstrap 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样式的情况下进行回显。

我假设我没有正确使用语法。我做错了什么?

1 个答案:

答案 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';
 }

除此之外,我没有看到任何显而易见的错误,所以我建议只是尝试一下并更新你的结果。