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