我會用URi routing.,作爲另一種方法比__remap()
,這是更好,但我只是想給另一個選擇
$route['animals/(:any)/(:any)'] = "animals/method/$1/$2";
在你的動物控制器,你有
function method($genus,$species)
{
$data['breadcrumb'] = 'animals -> '.$genus.' -> '.$species.
$this->load->view('breadcrumb', $data);
$this->load->view('animals/'.$genus.'/'.$species);
}
視圖breadcrumb.php:
<div id="breadcrumb">
<?php echo $breadcrumb;?> <!-- Display: animals -> feline -> lion -->
</div>
查看文件夾包含:
breadcrumb.php
animals/
feline/
feline.php
canine/
wolf.php
難道這就是你要找的人?評論後
編輯:
SO看起來我們已經錯了你想要的東西。如果你從檢索DB的變量,那麼你可以這樣做:
function index()
{
$this->load->view('animals/index');
}
function genus($genus)
{
$data['genus_data'] = $this->your_model->load_genus_data($genus);
$this->load->view('animals/genus',$data);
}
function species($genus,$species)
{
$data['genus_data'] = $this->your_model->load_genus_data($genus);
$data['species_data'] = $this->your_model->load_species_data($species);
$this->load->view('animal/genusspecies',$data);
}
在你看來genus.php(文件夾動物):
<?php $genus_data->name;?> is an animal that...Here's a pic in its habitat.
在你看來genusspecies .PHP(文件夾動物):
<?php $species_data->name;?> is a species of genus <?php $genus_data->name;?>....
所有這些可能是你從數據庫中加載HTML片段;
你的路由可能是這樣的,那麼:
$route['animal'] = "animal";
$route['animal/(:any)'] = "animal/genus/$1";
$route['animal/(:any)/(:any)'] = "animal/species/$1/$2";
如果我是你,我會去了解這種方式。我得到了更好的結果還是我在某個地方仍然錯了?
您是否在尋求幫助找到一個可以讓您在控制器中設置麪包屑的麪包屑庫,以便您可以根據數據庫的結果將它們設置爲屬和物種? –
是的,但我不認爲我需要一個圖書館。達到這個最基本的方法是令人滿意的。 – ThomasReggi
Gotcha ...然後我會嘗試Damine Pirsy的解決方案。我認爲這是最好的辦法。 –