メインテンプレートhome.blade.php
には、別のコンテンツファイルが置かれたセクションが含まれています。すべてのページにメニューを表示する方法Laravel?
このファイルには、サイドバーメニューがあります。
また、私はメニュー項目を表示するためにカスタムclass Menu
を持っています。
このカスタムクラス/サービスは、プロジェクトの全ページに表示されます。
各コントローラクラスにclass Menu
というインスタンスを作成したくありません。
メインテンプレートhome.blade.php
には、別のコンテンツファイルが置かれたセクションが含まれています。すべてのページにメニューを表示する方法Laravel?
このファイルには、サイドバーメニューがあります。
また、私はメニュー項目を表示するためにカスタムclass Menu
を持っています。
このカスタムクラス/サービスは、プロジェクトの全ページに表示されます。
各コントローラクラスにclass Menu
というインスタンスを作成したくありません。
Laravel's View :: share()メソッドが必要です。あなたは別々のファイルmenu.blade.phpを作成し、このファイル内のメニューコードを書き、 は、他のファイルにmenu.blade.phpを含め、あなたのAppServiceProviderクラスでクラスをインスタンス化し、すべてのあなたの意見https://laravel.com/docs/5.5/views#sharing-data-with-all-views
使用することをお勧めは何ですか:ビュー作曲やシェア見る?両方のシングルモデルをサポートしていますか? – user3573738
これは互換性のあるものです(私はすべてのものに対してshare()を使います)が、ビューの作曲家はクラスのインスタンス化に適しているようです。 –
コードの例と、これを書いて使い方を共有することはできますか?ドキュメントに十分な情報がないため – user3573738
に利用できる変数を作ることができますこのような。 使用これは、コードに
@extends(「メニュー」)
を拡張するために、このLaravelドキュメントをチェックアウト:https://laravel.com/docs/5.4/bladeは – GoogleMac