在我的 yii2 控制器的操作中,页面标题可以设置如下:
$this->view->title .= ' | Some title';
这里的问题是,它似乎没有整个应用程序的默认标题。 即我的网站名称 | 页面标题。
我目前知道工作的唯一方法是使另一个控制器类继承自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>
在您看来,您只需像这样设置标题:
$this->title = 'Some title';
或者您也可以在配置中设置应用程序名称
$config = [
'name' => 'My site name',
...
];
并在您的布局中使用它:
<title><?= Yii::$app->name ?> | <?= Html::encode($this->title) ?></title>