我有一个带索引功能的进程控制器(process.php),列出了登录用户支持的所有国家/地区。列出的国家/地区已超链接到base_url()/ process / $ CountryCode(例如http://localhost/baseurl/process/us/)。
process.php
class Process extends MY_Controller {
public function __construct() {
parent::__construct();
if ($this->uri->segment(2) != NULL) {
$this->country();
}
}
public function index() {
$this->load->model('users');
$data['country'] = $this->users->getSupportedCountriesByUserID();
$data['title'] = 'Process';
$this->load->view('process_view', $data);
}
public function country() {
include 'country.php';
$country = new Country;
$country->index();
}
country.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Country extends MY_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$data['process'] = $this->getProcesses();
$data['category'] = $this->getCategories();
$data['title'] = "Process | " . strtoupper($this->uri->segment(2));
/*
echo '<pre>';
print_r($data);
echo '</pre>';
*/
$this->load->view('welcome_message');
}
如果我取消注释print_r,我得到了我需要的数据,但是以数组形式,但输出下面有'404 Page Not Found'。它甚至没有加载'welcome_message'视图。我哪里做错了?请帮忙。感谢。
答案 0 :(得分:0)
正确设置您的路线,因为CI目前没有路线,例如process/us
。这意味着默认:流程控制器和我们方法。
Forexample:
$route['process/(:any)'] = 'process/country/$1
然后,您的国家/地区方法将us
作为方法中的第一个参数。