首页 > 解决方案 > 为 Laravel Voyager 创建数据导入页面

问题描述

我正在将 Voyager 用于我为小型非营利组织构建的小型 Web 应用程序的基本 BREAD 管理员。每年他们需要从 Excel 将 300-500 个新的半复杂条目导入数据库,所以我想构建一个管理脚本,将所有数据自动存储在正确的位置。

是否有一种结构化的方式可以将自定义控制器/视图添加到 Voyager?

(我还没有找到这样的文档,也许我是盲人。所以我已经开始手动扩展 Voyager 的现有部分,但随着我越来越深入,我想确保这是未来增长的最佳选择。)

标签: phplaravellaravel-5voyager

解决方案


是的,您可以向 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 的菜单生成器创建新菜单项


推荐阅读