使用CodeIgniter进行导航

时间:2013-04-18 23:21:25

标签: php codeigniter

我正在寻找CI中导航如何工作的解释。

基本上,我有一个带有一些链接的顶级导航,并希望连接到它们。我只用

做过这件事
<a href="somelink.html">Some Link</a>

我知道你传递了控制器,然后在a标签的href部分中运行,但我的工作似乎没有工作,所以我显然做错了。

以我的产品页面为例。

<a href ="user/products">Products</a>

然后在“用户”控制器中的功能

    public function products() {

    $data['title']='Products';
    $this->load->view ('header_view', $data);
    $this->load->view ('products.php', $data);
    $this->load->view ('footer_view', $data);
}

结果是“在服务器上找不到对象”错误消息。

我错过了什么?

2 个答案:

答案 0 :(得分:1)

如果您还没有removed index.php from your URL,那么您需要将其包含在相关链接中。

生成指向控制器/函数的链接的最简单方法可能是使用CodeIgniter的URL Helper

  • site_url()函数将返回您的配置中指定的网站网址,以及索引页网址后缀所属的网址,在您的配置中设置。如果要在用户控制器中创建产品功能的URL,请执行以下操作:

    <a href ="<?php echo site_url("user/products"); ?>">Products</a>
    
  • 您还可以使用anchor()功能。 (也在CodeIgniter的URL帮助器中。)

    echo anchor('user/products', 'Products');
    

使用这些功能非常有用,因为如果要更改您网站的网址,您只需在 config 中更改一次,因为这些功能将确保您的链接将反映此更改。

答案 1 :(得分:0)

您的控制器名称是用户

用户/产品通常表示 controller_name / function ,没有自定义路由

您的控制器文件

class User extends CI_Controll
{
        function products()
        {
            // codes
        }


}

在您的标头文件中路由到产品(功能)。查看/ header.php文件

<a href="<?php echo base_url('user/prouducts') ?>">View Products</a>

并将在每个页面上运行