2013-08-05 76 views
2

我試圖爲我的網站創建一個導航欄,它將從模型的數據庫表中獲取信息。導航欄目前在Element中實現並具有硬編碼鏈接。這是我到目前爲止有:Cakephp導航欄:使用模型中的數據填充元素

Photo控制器我有這樣的:

public function get_all() { 
    return $this -> Photo -> find("all"); 
} 

在header.ctp Element我有這樣的:

<ul> 
    <?php 
     $photos = $this -> Photo -> get_all(); 
     foreach($photos as $photo) { 
      ?> 
      <li><?= $this -> Html -> link($photo["Photo"]["title"], array("action" => "view", $photos["Photo"]["id"])) ?></li> 
      <?php 
     } 
    ?> 
</ul> 

我還是新來CakePHP的;我應該做什麼/更改以訪問元素中的數據庫表?

回答

1

您希望在元素中使用requestAction來要求控制器爲您提供模型列表。

你幾乎在那裏。

<ul> 
    <?php 
     $photos = $this->requestAction(array('controller'=>'photos','action'=>'get_all')); 
     foreach($photos as $photo) { 
      ?> 
      <li><?= $this -> Html -> link($photo["Photo"]["title"], array("action" =>  "view", $photos["Photo"]["id"])) ?></li> 
      <?php 
     } 
    ?> 
</ul> 
+0

謝謝!意識到我也必須改變鏈接指向的地方,但除此之外似乎一切正常。 –