ホームページ > 記事 > PHPフレームワーク > Laravelでデュアルテンプレートを設定する方法の紹介(コード例)
この記事では、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); } }4. 最後にミドルウェアを登録します in
app/Http/Kernel.phpクラスにミドルウェアをオンデマンドで登録
protected $middleware = [ \App\Http\Middleware\Template::class, ];Get it、別のミドルウェアを読み込むことができますさまざまなデバイスに応じて テンプレート ファイルコントロール内で次のように、さまざまなデバイスに応じてさまざまなテンプレートを読み込むことができます
return view('registration.index', $data);たとえば、PC デバイスから Web ページを開くときは、次のようにします。 resource/views/pc/registration/index.blade.php テンプレートモバイル デバイスから Web ページを開く場合: /resources/views/mobile/registration/index.blade.php テンプレート
# を読み込みます。
##以上がLaravelでデュアルテンプレートを設定する方法の紹介(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。