我正在尝试使用View编辑器根据定义的部分自动修改页面标题。
@section('title', 'Page')
并像这样使用它:
<title>{{ $title }}</title>
我已将以下代码编写为作曲家,但它无法正常工作。它只显示标题为Website - Website
时应显示Page - Website
,如果不包含标题,则显示Website
。
View::composer('*', function($view){
$title = $view->title;
$view->with('title', !empty($title) ? $title . " - Website" : "Website");
});
这只需要在一个模板master
上工作,但当我用'*'
替换'master'
时,它根本没有修改行为。
我需要更改哪些内容才能正确修改title
部分?
答案 0 :(得分:0)
您可以使用
view()->composer('*', function ($view) {
$view->with('title', 'Your title');
});
在服务提供商处。 或者你可以使用分享
view()->share('key', 'value');
然后在视图中使用
{{$ key}}
可以尝试使用它:
view()->composer('*', function ($view) {
$data = $view->getData();
//here you can get your data which was sent to view
//exmp. $old_title = $data['title'];
//where 'title' - key of variable which sent via ->with('title','data')
$view->with('title', 'new title');
});