我正在寻找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);
}
结果是“在服务器上找不到对象”错误消息。
我错过了什么?
答案 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>
并将在每个页面上运行