CodeIgniter маршрут и передача значений в метод - PullRequest
3 голосов
/ 26 февраля 2012

есть кое-что, что я не получаю об использовании route для вызова метода, передающего три значения. У меня есть контроллер со следующим методом внутри

public function view_day($year, $month, $day)
{
    $data['year'] = $year;
    $data['month'] = $month;
    $data['day'] = $day;

    $this->load->view('calendar/view_day', $data);
}

и страницу в папке с моими представлениями со следующим

<? 
    echo $this->uri->segment(5).'<p>'; 
    echo $day;
?>

наконец, в моем файле маршрутов есть строка ниже

$route['calendar/date/:num/:num/:num'] = "calendar/view_day/$1/$2/$3";

То, что я должен был сделать, это перенаправить URL как

http://www.mydomain.com/index.php/calendar/date/2012/06/10

моему контроллеру календаря, передающему три значения (2012, 06 и 10) моему методу view_day. Затем соберите эти три значения и передайте их на мою последнюю страницу, чтобы использовать $ day, $ month и $ year на моей странице презентации. Теперь, запустив URL выше результата, мы получим

10 (возвращается строкой -> echo $ this-> uri-> сегмент (5). ’‘;) $ 3 (возвращается строкой -> echo $ day;)

По сути, я не получаю, потому что переменная $ day на моей странице презентации не получает никакого значения, переданного внутри url, но возвращает тот же текст ($ 3), который я написал в своем операторе маршрута.

Спасибо

1 Ответ

6 голосов
/ 26 февраля 2012

Вы должны определить свой маршрут следующим образом

$route['calendar/date/(:num)/(:num)/(:num)'] = "calendar/view_day/$1/$2/$3";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...