我在codeigniter中的uri段遇到问题我期待开发产品和产品详细信息,所以我为它创建了一个控制器并传递了产品名称的参数以显示产品名称,因此我的url将变成了这个样子显示产品类别
本地主机/ PROJECT_NAME /产品/ PRODUCT_NAME
,这部分工作为我好,但我感到困惑。如果我想显示的产品类别和产品名称,比如我什么我试图让我的网址像这样
本地主机/ PROJECT_NAME /产品/ CATEGORY_NAME/PRODUCT_NAME
,所以我将如何做到这一点,现在当我通过在类别名称就说明了我404没有找到您请求未找到页面。因为有时会直接显示产品,有时如果用户通过类别浏览产品详细信息,那么类别名称将在URL中传递,以及这些区域是如何工作的?我有这个
这里大困惑是我的产品
public function products($product_name) {
if($this->uri->segment(3)) {
$category = ucwords(str_replace('-', " ", $product_name));
$product = ucwords(str_replace('-', " ", $this->uri->segment(3)));
} else {
$product = ucwords(str_replace('-', " ", $product_name));
}
$page_data = $this->get_data->get_Data($product, 'name', 'products');
$data['title'] = 'Products - ' . $page_data->row()->name;
$data['body_class'] = 'poductsdetails';
$this->load->view('includes/header.php', $data);
$this->load->view('templates/navigation.php');
$data['content'] = array(
'name' => $page_data->row()->name,
'price' => $page_data->row()->price,
'description' => $page_data->row()->description,
'picture' => $page_data->row()->picture,
'category' => $page_data->row()->category,
);
$this->load->view('products/details', $data);
$this->load->view('templates/footer-form.php');
$this->load->view('includes/footer.php');
}
这里控制器是我的路我已经创建
$route['default_controller'] = 'home';
$route['admin'] = 'admin/index';
$route['admin/([a-z])'] = 'admin/$1';
$route['products/(:any)'] = 'home/products/$1';
$route['products/(:any)'] = 'home/products/$1/$2';
$route['products/(:any)'] = 'home/products/$1/$2/$3';
$route['(:any)'] = 'home/page/$1';
$route['(:any)'] = 'home/page/$1/$2';
通过类别名称查看个别产品详细信息是没有用的 –
嗯,这是我的客户的要求,他正在为seo目的而做,而我在这里被阻塞 –