我有一個名爲'sub_nav'的視圖,它目前擁有每個部分鏈接的多維數組。該視圖查看控制器名稱以獲取當前部分,然後遍歷相應的數組集合並輸出鏈接。代碼點火器:控制器或視圖中的導航邏輯?
該工程的作品,但它感覺就像我應該創建一個控制器只是爲導航?並使sub_nav更簡單,但只輸出....?誰可以建議?
$controllerName = $this->router->class;
$methodName = $this->router->method;
$subLinks['about'] = array(
'introduction' => 'Introduction',
'people' => 'Our People'
);
$subLinks['contact'] = array(
'singapore' => 'Singapore',
'japan' => 'Japan'
);
?>
<ul>
<?php foreach($subLinks[$controllerName] as $link=>$linkName){ ?>
<li <?php if($methodName == $link){ ?>class="on"<? } ?>><a href="<?php echo base_url(); ?><?php echo $controllerName ?>/<?php echo $link ?>/"><?php echo $linkName ?></a></li>
<? } ?>
</ul>
`
對,所以我現在所做的並不是完全不好的形式? – gio 2011-05-05 23:32:16
沒有。我認爲這是最佳的。爲什麼要將數據從視圖邏輯中分離出來,如果它不是動態的並且只在該視圖中使用的話?你只是在創建一個數組,所以創建html更容易。就我個人而言,我有一個導航庫,可以根據您輸入的任何導航數組創建HTML,並且我總是在視圖中定義這些數組,然後立即運行'$ this-> navigation-> create($ my_nav_array)'。 – 2011-05-05 23:35:58
你一定要使用模板庫檢出。我敢肯定,那裏有很多相似的好東西。我沒有使用過,因爲我有我自己的,我不會因爲瘋狂的定製而分心。只是一個建議,你會厭倦很快地調用'$ this-> load-> view('header')''。 – 2011-05-05 23:39:24