我需要做的是延长getPageTitle()
功能,使标题被翻译和action
和controller
交换 这是我放在Controller.php这样Yii的扩展控制器功能
private $_pageTitle;
public function getPageTitle()
{
if($this->_pageTitle!==null) {
return Yii::t('wm', $this->_pageTitle);
} else {
$controller = Yii::t('wm', ucfirst(basename($this->getId())));
if($this->getAction()!==null && strcasecmp($this->getAction()->getId(),$this->defaultAction)) {
$action = Yii::t('wm', ucfirst($this->getAction()->getId()));
return $this->_pageTitle=Yii::app()->name.' - '.Yii::t('wm', '{action} {controller}', array('{action}' => $action, '{controller}' => $controller));
} else {
return $this->_pageTitle=Yii::app()->name.' - '.$controller;
}
}
}
但如果在视图中我设置一个新的自定义标题与这些
$this->pageTitle = 'Title';
$this->setPageTitle('Title2');
Yii::app()->getController()->pageTitle="Title3";
什么
标题没有得到改变
如果我检查parent::getPageTitle()
,它总是返回值
如果我检查$this->_pageTitle
它总是返回null