繁体   English   中英

将html添加到php函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM