2012-01-30 3 views
0

Я пытаюсь связать свою страницу просмотра с другим контроллером.codeignign path issue

мой test_view.php страница

//this page address is base_url/controller1/function1 
<a href='controller1/function2'> test </a> 

Если я нажимаю, адрес страницы будет base_url/controller1/function1/controller1/function2, не мое желание.

мой контроллер

//the first function1 is to show my test_view page 
    function function1(){ 
     $this->load->view('test_view'); 
    } 

    //I can't get to this function2 with the link I used 
    function function2(){ 
     $this->load->view('funny'); 
    } 

Любой может помочь мне об этом? Большое спасибо.

+0

Спасибо всем. +1 все. – FlyingCat

ответ

2

Sure - вам просто нужно сказать CodeIgniter, чтобы отобразить путь:

<a href="<?php echo site_url("controller1/function2");?>"> 

Одна вещь: Это показывает абсолютный путь вашего сайта, как определено в вашей конфигурации, а не относительный путь.

Я предпочитаю относительные пути, поэтому мне нравится создавать универсальную функцию под названием site_path, чтобы сделать то же самое без абсолютного URL. Я включил его в одном из моих универсально загруженных библиотек, и это выглядит примерно так:

function site_path($url) { 
    return "/$url"; 
} 

Преимущество этого состоит в том, если я изначально развивать сайт в подкаталоге, я могу установить site_path в return "/subdirectory/$url", а затем просто удалите подкаталог после запуска.

2

Это ссылки на относительный URL, вам нужно начать с «/», чтобы использовать корневой веб-каталог

<a href='/controller1/function2'> test </a> 
2

вы можете использовать следующий код в test_view.php странице
<a href='<?php echo base_url();?>controller1/function2'> test </a>