[英]Show text on all pages
UserController.php UserController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Contracts\View\View;
class UserController extends Controller
{
// Changes depending on the time of day.
public function boot() {
if(date('H:i') > '00:00' && date('H:i') < '12:00'):
$message = "Good Morning, ";
elseif(date('H:i') > '12:00' && date('H:i') < '17:00'):
$message = "Good Afternoon, ";
else:
$message = "Good Evening, ";
endif;
// THIS NEEDS TO SHOW ON ALL PAGES
return view('/', ['message' => $message]);
}
}
layout.blade.php layout.blade.php
{{ $message }}
What I want my code to do is to show my message on all pages. 我想要我的代码执行的是在所有页面上显示我的消息。 So far, it only shows on one page, which is '/' so just the homepage works. 到目前为止,它仅显示在一页上,即“ /”,因此只有主页有效。
I've tried replaced '*' but that doesn't work. 我试过用'*'代替,但这不起作用。
Any help would be appreciated! 任何帮助,将不胜感激!
In this way the message variable will be available to your controller's every methods. 这样,消息变量将可用于控制器的所有方法。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Contracts\View\View;
class UserController extends Controller
{
public function __construct()
{
if(date('H:i') > '00:00' && date('H:i') < '12:00'):
$message = "Good Morning, ";
elseif(date('H:i') > '12:00' && date('H:i') < '17:00'):
$message = "Good Afternoon, ";
else:
$message = "Good Evening, ";
endif;
View::share('message', $message);
}
}
Or you could create a blade view that shows this message and include it where ever needed: 或者,您可以创建一个刀片视图来显示此消息并将其包含在任何需要的位置:
message.blade.php message.blade.php
@if(date('H:i') > '00:00' && date('H:i') < '12:00')
Good Morning
@elseif(date('H:i') > '12:00' && date('H:i') < '17:00')
Good Afternoon
@else
Good Evening
@endif
And now in any other view, just use: @include('message')
现在在其他任何视图中,只需使用: @include('message')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.