所以这个问题来自我创建的另一个问题,你可以在这里找到但是我已经更改了我的代码,所以现在它看起来像这样:
汽车控制器
public function indexAction(){
$category = new Application_Model_CarMapper();
$gcat = $this->getRequest()->getPathInfo();
//get id
$id = $category->find_id_by_name($gcat);
$this->view->title = $category->get_sub_cat_select($id);
}
这是我在映射器中创建的一个新函数:
public function find_id_by_name($name){
$select = $this->getDbTable()->query("SELECT * FROM car_category WHERE category_name = '{$name}'");
$result = $select->fetchAll();
if(!$result) {
return;
}
return $result[0]['ID'];
}
我正在通过标题对其进行测试,但它似乎根本没有显示。我希望它显示特定类别的下拉菜单,例如
car-live.local/cars/Volvo --->“欢迎来到沃尔沃汽车搜索”
car-live.local/cars/BMW ---> “欢迎使用BMW寻车器”
我知道它不起作用,因为我必须进一步拆分 URL,因为现在它正在通过 URL 找到 id,但我不确定如何做到这一点:s 如果你能对此有所了解,将不胜感激.. 谢谢。
[编辑]
新代码:
public function indexAction(){
$category = new Application_Model_CarMapper();
$gcat = explode("/", $this->getRequest()->getPathInfo());
if(isset($gcat['category_name'])) {
$id = $category->find_id_by_name($gcat);
$this->view->title = $category->get_sub_cat_select($id);
}
}