Создание страницы импорта данных для Laravel Voyager - PullRequest
0 голосов
/ 30 января 2019

Я использую Voyager для основного администратора BREAD для небольшого веб-приложения, которое я создаю для небольшой некоммерческой организации.Ежегодно им нужно импортировать 300-500 новых полусложных записей в базу данных из Excel, поэтому я хочу создать сценарий администратора, который будет автоматически хранить все данные в нужных местах.

Существует ли структурированный способдобавить пользовательский контроллер / представление в Voyager?

(я еще не нашел такой документации, может быть, я слепой. Поэтому я начал вручную расширять существующие биты Voyager, но по мере углубления хочу сделатьуверен, что это лучший вариант для будущего роста.)

Спасибо.

1 Ответ

0 голосов
/ 01 февраля 2019

Да, вы можете добавить пользовательские контроллеры в voyager.

Сначала давайте создадим контроллер: php artisan make:controller ExportController

//app/Http/Controllers/ExportController.php
class ExportController extends Controller{
   public function form(){
      return view('export.form');
   }
   public function submit(){
      // do export stuff 
   }
}

Добавьте два маршрута, как показано ниже:

//routes/web.php
Route::group(['prefix' => 'admin','as' => 'voyager.', 'middleware' => 'admin.user'], function()
{
    Route::get('export','ExportController@form')->name('export.form');
    Route::post('export','ExportController@submit')->name('export.submit');
});

, затем создайте соответствующий файл представления в resources/views/export/form.blade.php, просто отметьте, что вам нужно @extends('voyager::master')

создать новый пункт меню, используя конструктор меню Voyager

...