значение по умолчанию блока заголовка, установленного на имя контроллера в cakePHP?

1

В макете cakephp я беру блок, чтобы задать заголовок страницы так, как показано ниже.

<title>Example - <?php echo $this->fetch('title');?></title>

Я заметил, что, если я не создаю заголовок блока в представлении или не назначу какое-либо значение блоку, значение заголовка всегда будет соответствовать имени контроллера. Я так и не нашел этого поведения в любом месте. Есть ли способ изменить это? Моя версия cakePHP - 2.7.5.

  • 0
    Можете ли вы сказать мне, какую версию торта вы используете?
Теги:
cakephp
cakephp-2.0

2 ответа

0

В вашем контроллере

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'); ?>
0

Вы можете передать значение по умолчанию, которое будет выводиться с помощью $this->fetch() если значение еще не было присвоено с использованием второго параметра:

echo $this->fetch('title', 'Default title');

Чтобы переопределить значение по умолчанию, просто используйте $this->assign() в своем представлении (до $this->fetch()):

$this->assign('title', 'Overridden title');
  • 0
    спасибо .. похоже, что $ this-> fetch ('title') действительно возвращает значение по умолчанию, имя соответствующего контроллера .. поэтому значение по умолчанию бесполезно .. почему $ this-> fetch ( 'title') вернуть значение по умолчанию? Можете ли вы подтвердить это поведение?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню