CakePHP set pageTitle не работает - PullRequest
2 голосов
/ 24 июня 2011

Когда я попытался установить заголовок страницы в моем контроллере, используя переменную 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. Что не так с моим кодом ???

спасибо заранее,

Brian

1 Ответ

8 голосов
/ 24 июня 2011

Похоже, вы используете старый синтаксис.(До 1.3)

Вы должны сделать:

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

Обратите внимание, что title_for_layout совпадает с переменной $title_for_layout в вашем представлении.

Использовать set назначить данные для переменных.

...