このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
11_php:02_framework:01_laravel:27_laravel_voyager [2019/04/02 14:37] – 作成 matsui | 11_php:02_framework:01_laravel:27_laravel_voyager [2019/08/30 01:52] (現在) – [2.View OverRide] matsui | ||
---|---|---|---|
行 21: | 行 21: | ||
</ | </ | ||
+ | ===== Voyager コントローラーカスタマイズ ===== | ||
+ | 今回Songsモデルを作成している事を前提に説明 | ||
+ | $ php artisan make:model Songs | ||
+ | |||
+ | ==== 1.BREADを作成 ==== | ||
+ | |||
+ | 作成したSongsモデルから、BREADを作成する | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== 2.View OverRide ==== | ||
+ | 今回の場合、slug-naeがsongsになります。 | ||
+ | |||
+ | resources/ | ||
+ | |||
+ | デフォルトのビューをコピーして利用 | ||
+ | < | ||
+ | cp vendor/ | ||
+ | cp vendor/ | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | |||
+ | === 他のViewもvenderから出す場合 === | ||
+ | vendor/ | ||
+ | |||
+ | < | ||
+ | $ rsync -av vendor/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | === langも出しておく === | ||
+ | < | ||
+ | $ rsync -av vendor/ | ||
+ | </ | ||
+ | ==== 3.コントローラーの参照先変更 ==== | ||
+ | |||
+ | config/ | ||
+ | < | ||
+ | ' | ||
+ | - ' | ||
+ | + //' | ||
+ | + ' | ||
+ | ], | ||
+ | </ | ||
+ | |||
+ | voyager: | ||
+ | < | ||
+ | $ php artisan voyager: | ||
+ | $ ll app/ | ||
+ | total 44 | ||
+ | -rw-r--r-- 1 matsui users 207 Apr 3 10:40 VoyagerAuthController.php | ||
+ | -rw-r--r-- 1 matsui users 207 Apr 3 10:40 VoyagerBaseController.php | ||
+ | -rw-r--r-- 1 matsui users 211 Apr 3 10:40 VoyagerBreadController.php | ||
+ | -rw-r--r-- 1 matsui users 219 Apr 3 10:40 VoyagerCompassController.php | ||
+ | -rw-r--r-- 1 matsui users 191 Apr 3 10:40 VoyagerController.php | ||
+ | -rw-r--r-- 1 matsui users 223 Apr 3 10:40 VoyagerDatabaseController.php | ||
+ | -rw-r--r-- 1 matsui users 211 Apr 3 10:40 VoyagerMediaController.php | ||
+ | -rw-r--r-- 1 matsui users 207 Apr 3 10:40 VoyagerMenuController.php | ||
+ | -rw-r--r-- 1 matsui users 207 Apr 3 10:40 VoyagerRoleController.php | ||
+ | -rw-r--r-- 1 matsui users 223 Apr 3 10:40 VoyagerSettingsController.php | ||
+ | -rw-r--r-- 1 matsui users 207 Apr 3 10:40 VoyagerUserController.php | ||
+ | </ | ||
+ | |||
+ | ==== 4.コントローラーをコピーしてくる ==== | ||
+ | |||
+ | ベースを元にコピーしてきて、namespaceと参照先を変更してやればよい。 | ||
+ | |||
+ | < | ||
+ | # cp vendor/ | ||
+ | |||
+ | $ diff -u vendor/ | ||
+ | --- vendor/ | ||
+ | +++ app/ | ||
+ | @@ -1,6 +1,6 @@ | ||
+ | <? | ||
+ | |||
+ | -namespace TCG\Voyager\Http\Controllers; | ||
+ | +namespace App\Http\Controllers\Voyager; | ||
+ | |||
+ | use Illuminate\Database\Eloquent\SoftDeletes; | ||
+ | use Illuminate\Http\Request; | ||
+ | @@ -14,7 +14,7 @@ | ||
+ | use TCG\Voyager\Facades\Voyager; | ||
+ | use TCG\Voyager\Http\Controllers\Traits\BreadRelationshipParser; | ||
+ | |||
+ | -class VoyagerBaseController extends Controller | ||
+ | +class SongsController extends VoyagerBaseController | ||
+ | { | ||
+ | use BreadRelationshipParser; | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== 5.RouteのOverride ==== | ||
+ | < | ||
+ | Route:: | ||
+ | Voyager:: | ||
+ | Route:: | ||
+ | Route:: | ||
+ | }); | ||
+ | </ | ||
{{tag> | {{tag> |