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将站点名称设置为配置条目,然后在视图中阅读。非常感谢,非常感谢。