【发布时间】:2023-03-15 09:42:01
【问题描述】:
我环顾四周,发现了一些提到这一点的线程,但由于某种原因,当我将页面标题添加到扩展 MY_Controller 的 Public_Controller 时,它不起作用。如果我不向扩展 Public_Controller 的其他控制器添加页面标题,那么它们的页面标题应该是“测试标题”。然而,事实并非如此。这是我所拥有的
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>
知道为什么这不起作用吗?
【问题讨论】:
-
$data 属性在哪里定义?尝试定义 public $data = array();在 Public_Controller 中
标签: php codeigniter codeigniter-2