2011-06-24 83 views
2

當我試圖在我的控制器中使用pageTitle變量設置頁面標題時,它不起作用。我的控制器代碼:CakePHP設置pageTitle不工作

class UsersController extends AppController { 
    var $name = 'Users'; 

    function index() { 
     $this->pageTitle = 'List User'; 
    } 
} 

我的佈局代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<?php echo $html->charset(); ?> 
<?php echo $html->css('admin'); ?> 
<title><?php echo $title_for_layout; ?></title> 
</head> 

<body> 
<!-- Container --> 
<div id="container"> 

<!-- Header --> 
<div id="header"> 
<?php echo $html->image('admin/logo.png', array('alt' => __('Bekz',true)))?> 
</div> 
<!-- /Header --> 

<div id="menu"> 
&nbsp; 
</div> 

<!-- Content --> 
<div id="wrapper"> 
<div id="content"> 

<?php if($session->check('Message.flash')) echo $session->flash(); ?> 

<?php echo $content_for_layout; ?> 

</div> 
</div> 
<!-- /Content --> 

<!-- Left column --> 
<div id="left"> 
</div> 
<!-- /Left column --> 

<!-- Right column --> 
<div id="right"> 
</div> 
<!-- /Right column --> 

<!-- Footer --> 
<!-- /Footer --> 

</div> 
<!-- /Container --> 

</body> 
</html> 

我CakePHP的版本是1.3.1。我的代碼有什麼問題?

THX提前,

布賴恩

回答

8

看起來你正在使用舊的語法。 (預1.3)

你應該這樣做:

function index() { 
    $this->set('title_for_layout', 'List User'); 
} 

注意如何title_for_layout相同視圖中的$title_for_layout變量。使用set將數據分配給變量。

+0

哦,我看,新版本不支持,謝謝羅斯。 – brian

+0

雖然我在這,但你也在其他地方使用1.2語法; 1.3允許,並建議您在視圖中使用'$ this-> Html-> foo()'和'$ this-> Foo-> bar()'。如果您有興趣,請參閱[1.2-1.3遷移](http://book.cakephp.org/view/1561/Migrating-from-CakePHP-1-2-to-1-3)。 – Ross

+0

哇再次感謝,我在cakePHP新:) – brian