1

我环顾四周,发现了一些提到这一点的线程,但由于某种原因,当我将页面标题添加到 Public_Controller 时,它扩展了 MY_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>

知道为什么这不起作用吗?

4

2 回答 2

3

像这样做-

$data['pageTitle'] = 'Your page title';

反而

$this->data['pageTitle'] = 'Your page title';
于 2012-12-27T07:26:59.900 回答
3

你希望你可以这样做:

<title><?php echo (isset($pageTitle)) ? $pageTitle : 'Default title text'; ?> </title>

这样,如果未设置标题,它将输出默认值。

于 2012-12-27T07:46:14.573 回答