В макете cakephp я беру блок, чтобы задать заголовок страницы так, как показано ниже.
<title>Example - <?php echo $this->fetch('title');?></title>
Я заметил, что, если я не создаю заголовок блока в представлении или не назначу какое-либо значение блоку, значение заголовка всегда будет соответствовать имени контроллера. Я так и не нашел этого поведения в любом месте. Есть ли способ изменить это? Моя версия cakePHP - 2.7.5.
В вашем контроллере
class ExampleController extends AppController {
// Set title in default for all this controller methods
public $title = "Your title";
// Override the title by setting title in method
public function
$this->set('title', 'Your title');
}
}
В вашем макете или виде
cakephp 2.x
<?php echo $this->fetch('title'); ?>
cakephp 3.x
<?= $this->fetch('title'); ?>
Вы можете передать значение по умолчанию, которое будет выводиться с помощью $this->fetch()
если значение еще не было присвоено с использованием второго параметра:
echo $this->fetch('title', 'Default title');
Чтобы переопределить значение по умолчанию, просто используйте $this->assign()
в своем представлении (до $this->fetch()
):
$this->assign('title', 'Overridden title');