使用Laravel,我想向本地/暂存环境中的开发人员和工作人员展示他们正在查看某个模板。
我看过ServiceProvider,但无法通过它将刀片视图推入页面顶部。
我的ServiceProvider如下:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
Class TemplateServiceProvider extends ServiceProvider
{
public function boot()
{
View::composer('*', function ($view)
{
$environment = App::environment();
if (App::environment(['local', 'staging']))
{
return view('frontend.shared.chosen-template');
}
});
}
}
但是刀片模板没有被加载。
理想情况下,我希望看到Bootstrap Dismissable警报,以便用户可以根据需要将其关闭。
谢谢
答案 0 :(得分:2)
您可以做的就是向所有视图共享一个变量,如下所示:
public function boot()
{
view()->share('isProduction', !App::environment(['local', 'staging']));
}
或者仅选择特定布局:
public function boot()
{
app('view')->composer('layouts.master', function ($view) {
$view->with(['isProduction' => !App::environment(['local', 'staging'])]);
}
}
然后在您的主布局(例如,位于身体顶部的layouts / master.blade.php)中,可以包含以下特定视图:
@if(!$isProduction)
@include('frontend.shared.chosen-template')
@endif