在CakePHP的佈局我爲了設置頁面的標題像這樣取塊在cakePHP中設置爲控制器名稱的標題塊的默認值?
<title>Example - <?php echo $this->fetch('title');?></title>
我已經注意到了,除非我創建一個視圖塊「標題」或某個值分配給塊,標題的值總是對應於控制器的名稱。我還沒有在任何地方發現這種行爲。有什麼方法可以改變它嗎?我的CakePHP版本是2.7.5。
在CakePHP的佈局我爲了設置頁面的標題像這樣取塊在cakePHP中設置爲控制器名稱的標題塊的默認值?
<title>Example - <?php echo $this->fetch('title');?></title>
我已經注意到了,除非我創建一個視圖塊「標題」或某個值分配給塊,標題的值總是對應於控制器的名稱。我還沒有在任何地方發現這種行爲。有什麼方法可以改變它嗎?我的CakePHP版本是2.7.5。
你可以傳遞一個默認值由$this->fetch()
是輸出一個值尚未使用第2參數分配: -
echo $this->fetch('title', 'Default title');
要覆蓋默認只使用$this->assign()
在您的視圖($this->fetch()
前叫): -
$this->assign('title', 'Overridden title');
謝謝..它似乎雖然$ this-> fetch('title')_does_返回一個默認值,相應的控制器的名稱..因此,默認值是無用的..爲什麼$ this-> fetch ('title')返回一個默認值?你能證實這種行爲嗎? –
在你的控制器
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'); ?>
可以是您使用該蛋糕的版本,你告訴我? – Fury