Yii2从另一个类tha控制器继承控制器以外的页面标题

Yii2从另一个类tha控制器继承控制器以外的页面标题,yii2,php,inheritance,Yii2,Php,Inheritance,在我的控制器的操作中,页面标题可设置如下: $this->view->title .= ' | Some title'; 这里的问题是,它似乎没有整个应用程序的默认标题。i、 e我的网站名称|页面标题 目前,我知道的唯一工作方式是使另一个控制器类继承自controller类,并在构造方法中定义或设置$this->view->title定义它,然后从该类继承我的所有控制器,如下所示: namespace common\controllers use Yii; use yii\web\

在我的控制器的操作中,页面标题可设置如下:

$this->view->title .= ' | Some title';
这里的问题是,它似乎没有整个应用程序的默认标题。i、 e我的网站名称|页面标题

目前,我知道的唯一工作方式是使另一个控制器类继承自
controller
类,并在构造方法中定义或设置
$this->view->title
定义它,然后从该类继承我的所有控制器,如下所示:

namespace common\controllers
use Yii;
use yii\web\Controller;

class MainController extends Controller
{
   function __construct()
   {
     $this->view->title = 'My site name ';
   }
}
然后在任何控制器中,我都应该从
MainController
扩展

问题是:


是否有任何配置方式或引导方式来设置页面标题的默认值,然后我可以通过操作将另一个值连接到页面标题?

您只需在布局中处理此问题:

<title>My site name | <?= Html::encode($this->title) ?></title>
<title><?= Yii::$app->name ?> | <?= Html::encode($this->title) ?></title>
或者也可以在配置中设置应用程序名称

$config = [
    'name' => 'My site name',
    ...
];
并在布局中使用它:

<title>My site name | <?= Html::encode($this->title) ?></title>
<title><?= Yii::$app->name ?> | <?= Html::encode($this->title) ?></title>
|

您只需在布局中处理此问题:

<title>My site name | <?= Html::encode($this->title) ?></title>
<title><?= Yii::$app->name ?> | <?= Html::encode($this->title) ?></title>
或者也可以在配置中设置应用程序名称

$config = [
    'name' => 'My site name',
    ...
];
并在布局中使用它:

<title>My site name | <?= Html::encode($this->title) ?></title>
<title><?= Yii::$app->name ?> | <?= Html::encode($this->title) ?></title>
|

哦,是的,我的大脑在哪里?!:)非常感谢你!但是,如果有办法从布局中的配置中读取,我将不胜感激。i、 e将站点名称设置为配置条目,然后在视图中阅读。非常感谢,我非常感激。哦,是的,我的大脑在哪里?!:)非常感谢你!但是,如果有办法从布局中的配置中读取,我将不胜感激。i、 e将站点名称设置为配置条目,然后在视图中阅读。非常感谢,非常感谢。