2015-11-01 56 views
0

我有一個產品控制器(Codeigniter),我在我的索引函數中加載了40個類別。當我點擊一個類別時,我想加載該特定類別的所有項目。爲此,我可以輕鬆編寫一個函數來加載所有這些項目。如何在Codeigniter中獲得漂亮的URL?

Function load_item($categoryId’) 
{ 
// in short  
…… where categoryId = ‘$categoryId’ 
// then load it to view 
} 

然後我有URL/product/load_item。但我需要URL/product/laptop或/ product/desktop(/ product/category_name)。所以,不可能爲每個類別編寫40個函數,也不是最佳解決方案。我不想在索引函數中改變任何東西。請問你有什麼想法?

回答

1

您必須設置爲URL的路線,以便在你的config文件夾中去的路線,然後創建一個路由,這樣

$route['product/(:any)'] = 'catalog/product_lookup'; 

您可以找到Codeiginter用戶指南

+0

我不能這樣做,因爲我有其他的功能,在此控制器了。 –

+0

你仍然可以將它映射到一個函數,例如$ route ['laptops'] ='controller/funtion'; – RiaanV

+0

你是什麼意思由$ route ['laptop']? –

0

的所有相關信息方法01

routes.php

$route['category/(:any)'] = 'category/load_item'; 

輸出 - www.example.com/category/(value/number-of-category)


方法02

在View URL傳遞方法(手段<a>

<a href="<?php echo base_url()?>category/item/<?php echo category_code?>/<?php echo category_code?>">Click me</a> 

所以在控制器

Function item($catgoryName, $categoryId) 
{ 
    // in short  
    where categoryId = '$categoryId'; 
    // then load it to view 
} 

輸出 - www.example.com/category/item/laptops/1