2009-10-13 48 views
2

我需要打開的URL,如下列:笨 - 我如何重寫URL與URL參數

/catalog/products/24 

到清潔的URL,如下列:

/catalog/product-name-here 

我用笨,並重新啓動引擎並安裝。我也設置在routes.php文件改寫如下:

$route['catalog/products/(:any)'] = 'catalog/view/$1'; 

問題:哪裏有/product-name-here更換產品ID /24?我可以成功獲取參數$1,並獲取產品名稱。我似乎無法弄清楚如何用這個動態值重寫URL。提前致謝!

回答

2

我不是codeigniter用戶,但我聞到URL重寫不是實現此目的的最佳位置。

您仍然需要編寫一個控制器方法,可以使用類似slug ='product-name-here'而非id = 24的東西來識別產品。

+0

是的,你可能是對的,謝謝你的答案! – Farbour 2009-10-13 19:56:48

+0

我做到了這一點,它的工作,非常感謝! – Farbour 2009-10-16 00:53:37

0

只需將產品名稱作爲url slug存儲到數據庫表的產品行中即可。 url_title()方法來自URL助手的一個好習慣。

然後,您只需在代碼中搜索數據庫中的slug,而不是id。

所以這只是一個提示,因爲我現在沒有時間。但如果你有問題,在這裏問問,我會回來回答。

對不起,我可憐的英語! :)