PHP SMARTY 樣板引擎
- 在admin_nav.php
22行附近,stopLevel 設為2 #foreign key $foreign = array( "menuTop" => array("title" => "上方選單","stopLevel"=>2), "menuFoot" => array("title" => "頁尾選單","stopLevel"=>1) ); - 至後台輸入幾個2層選單
- 至foot.php
可以取消註解 「//print_r($menuTop);die();」看一下資料是否正確 #----得到下拉選單 #引入選單物件 include_once WEB_PATH . "/class/ugmKind.php";; #實體化 類別物件 $tbl = "{$WEB['moduleName']}_kind";//取得主要資料庫 $kind = "menuTop"; $stopLevel = 2; //層數 $moduleName = $WEB['moduleName']; //專案名稱 //(資料表,分類,層數,父層) $ugmKind = new ugmKind($tbl, $kind, $stopLevel,$moduleName);// $menuTop = $ugmKind->get_listArr(); $smarty->assign("menuTop", $menuTop); //print_r($menuTop);die(); #--------------------------------- - 分析二層的選單樣板
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown04" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
<div class="dropdown-menu" aria-labelledby="dropdown04">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
只有一層時
<li class="nav-item active"> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> </li>
<li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown04" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a> <div class="dropdown-menu" aria-labelledby="dropdown04"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Something else here</a> </div> </li>
有二層時的樣板
後台送來的變數得知,如果有 「sub」有值,則有第2層
- 樣板(請根據佈景調整)
<ul class="navbar-nav mr-auto">
<{foreach from=$menuTop item=row}>
<{if $row.sub}>
<{* 有2層 *}>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="<{$row.url}>" id="dropdown<{$row.sn}>" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><{$row.title}></a>
<div class="dropdown-menu" aria-labelledby="dropdown<{$row.sn}>">
<{foreach from=$row.sub item=row2}>
<a class="dropdown-item" href="<{$row2.url}>"<{if $row2.target}>target="_blank"<{/if}>><{$row2.title}></a>
<{/foreach}>
</div>
</li>
<{/else}>
<{* 只有一層 *}>
<li class="nav-item">
<a class="nav-link" href="<{$row.url}>" <{if $row.target}>target="_blank"<{/if}>><{$row.title}></a>
</li>
<{/if}>
<{/foreach}>
</ul>