この記事では、Laravel でデュアルテンプレートを設定する方法 (コード例) を紹介します。一定の参考価値があります。必要な友人は参考にしてください。お役に立てれば幸いです。
開発プロセス中に、2 セットのテンプレートの使用を必要とする特定のプロジェクトに遭遇することがあります。
たとえば、PC 側とモバイル側で異なるテンプレート ファイルを使用して、最高のユーザー エクスペリエンスを実現します
この状況が発生した場合、Laravel のテンプレート ファイルをどのように設定すればよいですか?
thatbrowser/parser
ポータルをインストールします: WhichBrowser/Parser-PHPPC またはモバイル デバイスを決定するために使用され、オンデマンドでさまざまなテンプレートをロードします
composer require whichbrowser/parser
2。artisan コマンドを使用して新しいミドルウェアを作成します
実行後、 app/Http/Middleware ディレクトリにミドルウェア ファイルを生成します
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); } }
app/Http/Kernel.phpクラスにミドルウェアをオンデマンドで登録
protected $middleware = [ \App\Http\Middleware\Template::class, ];
return view('registration.index', $data);
# を読み込みます。
##以上がLaravelでデュアルテンプレートを設定する方法の紹介(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。