【发布时间】:2014-03-11 23:52:45
【问题描述】:
我有一个名为 search 的控制器。如果用户键入sitename.com/search,Codeigniter 以下列方式工作,它会点击search 控制器并运行index 函数。
如果用户随后键入sitename.com/search/cars,控制器将在search 控制器中查找函数cars。
但是我想要一个名为lookup() 的通用函数,它采用URL 字符串中的第二个参数。
例如:sitename.com/search/electronics [电子是 返回] sitename.com/search/奶酪 [奶酪被退回]
然后它会使用关键字进行数据库查找,如果找到匹配项则加载页面。在汽车的情况下,它将是sitename.com/search/cars,如果没有匹配则重定向到sitename.com/search/error。
是否可以修改我的控制器来处理这样的请求?没有指定所有可能的路线?
$route['Cars'] = 'sitename.com/search/Cars';
$route['Cheese'] = 'sitename.com/search/Cheese';
$route['Electronics'] = 'sitename.com/search/Electronics';
搜索控制器:
<?php
class Search extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper('url');
//parse URL: run lookup() function then redirect to page if valid return
}
public function index()
{
//check for url string to see what set or collection to load:
}
public function lookup()
{
}
}
?>
【问题讨论】:
标签: php codeigniter search