我的控制器代码是:
class Tconfig extends CI_Controller {
public $config;
public function __construct($schoolId = 1) {
parent::__construct();
$this->load->database();
$this->load->model('Tconfig_model');
$this->config = $this->Tconfig_model->load_config($schoolId);
}
public function config() {
$data['config'] = $this->config;
$this->load->view('templates/user_header', $data);
$this->load->view('templates/user_menu', $data);
// printf("%s", base_url());
//$this->load->view('config', $data);
//$this->load_view('templates/user_footer', $data);
}
}
我已自动加载url_helper
这时,我只是试图加载一个HTML文件,其中包含对base_url()的调用 调用此函数的确切行是:
<link href=<?php echo base_url();?>"assets/bootstrap337/css/bootstrap.min.css" rel="stylesheet">
通过调试器运行此代码时,会得到
我不知道为什么我要调用 url_helper.php
中未定义方法 stdClass :: base_url()我很确定这很明显,但这已经是漫长的一天.. TIA!
答案 0 :(得分:1)
您必须在application->Config->autoload.php
文件中加载网址帮助器
像这样:-
$autoload['helper'] = array('url');
或
将此添加到控制器的构造函数中
$this->load->helper('url');
答案 1 :(得分:0)
在头文件中使用它。
<script>
var base_url = '<?php echo base_url(); ?>';
</script>
答案 2 :(得分:0)
检查是否在config.php文件中定义了基本URL。如果不是,则将其定义为-
$config['base_url'] = 'your-base-url';
位于application / config文件夹中的config.php文件中。
答案 3 :(得分:0)
问题是-您用自己的变量覆盖CI内部变量config
-您可以通过重命名变量来避免这种情况
类似以下的东西应该起作用
class Tconfig extends CI_Controller
{
public $tcConfig;
public function __construct($schoolId = 1)
{
parent::__construct();
$this->load->database();
$this->load->model('Tconfig_model');
$this->tcConfig = $this->Tconfig_model->load_config($schoolId);
}
public function config()
{
$data['config'] = $this->tcConfig;
$this->load->view('templates/user_header', $data);
$this->load->view('templates/user_menu', $data);
}
}