由于某种原因,我的配置项无法正常工作。不会显示正确的主题。它显示默认主题,但应显示codeigniter主题。
默认主题已备份,因此如果文件不存在,则会显示默认值。
我也遇到了数组错误
1:应显示当前主题。
配置文件template.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
// Template Change
$config['config_template'] = 'codeigniter';
?>
Controller Welcome.php
public function index() {
$data['header'] = $this->load->view($this->config->item('config_template') . '/template/common/header', NULL, TRUE);
$data['footer'] = $this->load->view($this->config->item('config_template') . '/template/common/footer', NULL, TRUE);
if (file_exists(APPPATH . $this->config->item('config_template') . '/template/common/welcome_message', $data)) {
$this->config->item('config_template') . '/template/common/welcome_message';
} else {
$this->load->view('default/template/common/welcome_message', $data);
}
2:存在文件问题
遇到了PHP错误 严重性:警告 消息:file_exists()正好需要1个参数,给定2个 文件名:controllers / welcome.php 行号:9
答案 0 :(得分:0)
我不知道你为主题使用了什么,但从我看到的内容:
$this->config->item('config_template') . '/template/common/welcome_message';
这条线完全没有意义。如果你只是写
,情况就是这样'something/template/common/welcome_message';
我很确定你想要这样做:
$this->load->view($this->config->item('config_template') .'/template/common/welcome_message', $data);
file_exists(APPPATH . $this->config->item('config_template') . '/template/common/welcome_message', $data)
这里有1个冗余参数。正如错误所说,file_exists()
接受1个参数,你有2个(第二个是$data
) - 删除它并且错误应该消失。我想你想把它放在$this->load->view
修改:要明确,这里是您应该使用的完整代码。
public function index() {
$data['header'] = $this->load->view($this->config->item('config_template') . '/template/common/header', NULL, TRUE);
$data['footer'] = $this->load->view($this->config->item('config_template') . '/template/common/footer', NULL, TRUE);
if (file_exists(APPPATH . $this->config->item('config_template') . '/template/common/welcome_message')) {
$this->load->view($this->config->item('config_template') . '/template/common/welcome_message', $data);
} else {
$this->load->view('default/template/common/welcome_message', $data);
}
}
答案 1 :(得分:0)
你需要加载&#34; template.php&#34;,就像这样
$this->config->load('template');
所以你的代码(Controller Welcome.php)将是:
public function index() {
$this->config->load('template');
$data['header'] = $this->load->view($this->config->item('config_template') . '/template/common/header', NULL, TRUE);
$data['footer'] = $this->load->view($this->config->item('config_template') . '/template/common/footer', NULL, TRUE);
if (file_exists(APPPATH . $this->config->item('config_template') . '/template/common/welcome_message', $data)) {
$this->config->item('config_template') . '/template/common/welcome_message';
} else {
$this->load->view('default/template/common/welcome_message', $data);
}
}