проблема с кодом - PullRequest
       3

проблема с кодом

0 голосов
/ 30 января 2012

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

моя страница 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');
    }

Кто-нибудь может мне помочь с этим? Большое спасибо.

Ответы [ 3 ]

2 голосов
/ 30 января 2012

Конечно - вам просто нужно указать CodeIgniter для отображения пути:

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

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

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

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

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

2 голосов
/ 30 января 2012

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

2 голосов
/ 30 января 2012

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

<a href='/controller1/function2'> test </a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...