我环顾四周,发现一些线程提到了这一点,但出于某种原因,当我将我的页面标题添加到Public_Controller时,它扩展了MY_Controller它不起作用。如果我没有将页面标题添加到扩展Public_Controller的其他控制器,那么它们的页面标题应该是“Test Title”。但事实并非如此。这就是我所拥有的
Public_Controller.php:
class Public_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
$this->data['pageTitle'] = 'Test Title'; // pages without a title should display this
....
}
}
Home.php(我的默认控制器......扩展了Public_Controller):
class Home extends Public_Controller {
public function __construct() {
parent:: __construct();
}
function index()
{
$this->data['pageTitle'] = 'Your page title';
$data['main_content'] = 'home';
// My header which contains the <title> is in the template
$this->load->view('includes/template', $data);
}
}
如果我按照这样做的话,上面的工作正常,但我希望页面显示标题,如果他们没有这个:
$data['pageTitle'] = 'Your page title';
标题区:
<title><?php echo $pageTitle; ?> </title>
知道为什么这不起作用吗?
答案 0 :(得分:3)
这样做 -
$data['pageTitle'] = 'Your page title';
代替
$this->data['pageTitle'] = 'Your page title';
答案 1 :(得分:3)
你希望你能做到这一点:
<title><?php echo (isset($pageTitle)) ? $pageTitle : 'Default title text'; ?> </title>
这样,如果没有设置标题,它将输出默认值。