首页 > 技术文章 > laravel 配置双模板引擎

sweetsunnyflower 2019-03-11 11:11 原文

有时候我们可能有这种需求,pc 和 mobile 端显示的页面不一样,这个时候,我们就需要判断设备类型;

****我们用  composer require whichbrowser/parser  这个包实现

 

直接上代码

 

php artisan make:middleware Template

3. 编辑Template.php文件

class Template
{
    protected $except = [];

    public function handle($request, Closure $next)
    {
        $result = new WhichBrowser\Parser(getallheaders());
        // 如果是桌面类型, 返回true
        $isDesktop = $result->isType('desktop');
        if ($isDesktop) {
            // 加载pc端的模板文件
            $path = resource_path('views/pc/');
        } else {
            // 加载mobile端的模板文件
            $path = resource_path('views/mobile/');
        }
        // 获取视图查找器实例
        $view = app('view')->getFinder();
        // 重新定义视图目录
        $view->prependLocation($path);
        // 返回请求
        return $next($request);
    }
}
 

然后后注册中间件

return view('registration.index', $data);//这里就不写到资源文件的跟目录了

/resources/views/pc/registration/index.blade.php 模板

推荐阅读