CodeIgniter 3.1.9 - вызов неопределенного метода stdClass :: base_url () - PullRequest
0 голосов
/ 16 января 2019

Код моего контроллера:

  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">

Когда я запускаю этот код через отладчик, я получаю это

Debugger output

Я не могу понять, почему я получаю вызов неопределенного метода stdClass :: base_url () в url_helper.php

Я почти уверен, что это что-то очень очевидное, но это был долгий день .. TIA!

Ответы [ 4 ]

0 голосов
/ 16 января 2019

Проблема в том, что вы перезаписываете внутреннюю переменную 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);
    }
}
0 голосов
/ 16 января 2019

проверьте, указали ли вы свой базовый URL в файле config.php. Если нет, определите это как -

$config['base_url'] = 'your-base-url';

в вашем файле config.php в папке application / config.

0 голосов
/ 16 января 2019

Вы должны загрузить url helper в файл application->Config->autoload.php

Как это: -

$autoload['helper'] = array('url');

OR

Добавьте это в функцию конструкции в контроллере

$this->load->helper('url');
0 голосов
/ 16 января 2019

используйте это в вашем заголовочном файле.

<script>
 var base_url = '<?php echo base_url(); ?>';
 </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...