Я бы использовал URi маршрутизацию. , как другой подход, чем __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);
}
view breadcrumb.php :
<div id="breadcrumb">
<?php echo $breadcrumb;?> <!-- Display: animals -> feline -> lion -->
</div>
Просмотр папки содержит:
breadcrumb.php
animals /
feline /
feline.php
canine/
wolf.php
Это то, что вы искали?
РЕДАКТИРОВАТЬ после комментариев:
ТАК, похоже, мы ошиблись в том, что вы хотели.Если вы извлекаете эти переменные из БД, вы можете сделать это следующим образом:
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 (в папке animal):
<?php $genus_data->name;?> is an animal that...Here's a pic in its habitat.
По вашему мнению genusspecies.php (в папке animal):
<?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";
Если бы я был тобой, я бы пошел по этому пути.Мне лучше или я все еще где-то не прав?