代码之家  ›  专栏  ›  技术社区  ›  Carson Myers

URI CodeIgniter库不工作

  •  0
  • Carson Myers  · 技术社区  · 15 年前

    我只是在学习代码点火器,我似乎遇到了一些有点奇怪的事情。我正在使用URI路由功能,但需要获取重新路由的URI的URI段。

    这是其中一条路线:

    $route['content'] = "site/display/main template/content";
    

    参观时 http://lipsum.localhost/content 它加载控制器,但不允许我使用uri类:

    class Site extends Controller {
    
        function display($template, $page) {
    
            echo "display<br>";
    
            $this->load->library('uri');
            echo $this->uri->rsegment(1, 0)."<br>";
            echo $this->uri->rsegment(2, 0)."<br>";
            echo $this->uri->rsegment(3, 0)."<br>";
            echo $this->uri->rsegment(4, 0)."<br>";
    
        }
    
    }
    

    当我访问页面时,它只显示

    display
    0
    0
    0
    0
    

    基本上,这个代码应该加载一个模板,然后通过 $page 这样它就可以加载网站的一个部分。所以“content”可以使用“main template”作为模板,然后将“content”作为要加载的页面传递给它。但我也希望能够将“/products/随便什么”传递给它,等等——所以我希望循环访问URI段,以获得页面的完整“路径”。我怎样才能让它工作?为什么我没有工作?

    2 回复  |  直到 15 年前
        1
  •  3
  •   philm    15 年前

    尝试去掉“主模板”中的空格,使用下划线或camelcase将其组合在一起以“维护模板”。我记不起上次在任何路由或URL中看到一个空格的时间。

        2
  •  0
  •   philm    15 年前

    为此,您可以将自定义路由添加到/app/config/routes.php文件中。

    $route['title-of-the-page'] = "<controller>/<method>";