Codedigniter动态uri段

时间:2015-12-26 07:10:58

标签: php codeigniter

很多谷歌搜索地段或研究仍然无法理解如何在codigniter中创建一个uri,就像我试图为我的广告和列表创建一个动态链接我在我的视图页面中创建了一个像这样的链接

 <li><a href="<?php echo base_url(). "listings/".$subcat->cat_name; ?>"><?php echo $subcat->cat_name ; ?></a></li>

并且在第二页上我想通过id来调用列表我可以通过使用简单的get方法来完成但是它会将链接显示为列表?cat =&amp; subcat =等等但我不希望这样我希望它像uri段

调用上面的语句我做了这个,但它说找不到404,因为没有命名页面作为cat_name,这将是类别名称

$cat = $this->uri->segment(3, 0);
if ($this->uri->segment(3) === FALSE)
{
    echo $cat = 0;
}
else
{
    echo $cat = $this->uri->segment(3);
}

这是我的控制器listing.php

class listings extends CI_Controller {
     public function index() {
        $cat          = "mylist";
        $data['list'] = $cat;
        $this->load->view('listings', $data);
    }
}

请任何人帮助我兄弟

1 个答案:

答案 0 :(得分:1)

将_remap添加到控制器。

public function _remap($method,$params = array()) {
    if (method_exists($this, $method)) {
        $this->$method($params);
    } else {
        $this->index($method, $params);
    }
}

在&#34; listing /&#34;之后声明任何参数;如果第一个参数不等于类中的函数名,则作为索引函数的参数。

然后你可以像这样访问索引函数中的参数。

public function index($category = null, $params = null){

    $subcategory = $params[0];

}