diff --git a/beike/Admin/Http/Controllers/PluginController.php b/beike/Admin/Http/Controllers/PluginController.php index c2ce652e..5fd49073 100644 --- a/beike/Admin/Http/Controllers/PluginController.php +++ b/beike/Admin/Http/Controllers/PluginController.php @@ -79,8 +79,10 @@ class PluginController extends Controller */ public function edit(Request $request, $code): View { - $data['plugin'] = app('plugin')->getPluginOrFail($code); - return view('admin::pages.plugins.form', $data); + $plugin = app('plugin')->getPluginOrFail($code); + $columnView = $plugin->getColumnView(); + $view = $columnView ?: 'admin::pages.plugins.form'; + return view($view, ['plugin' => $plugin]); } diff --git a/beike/Plugin/Plugin.php b/beike/Plugin/Plugin.php index 0d06ce44..fdccfe53 100644 --- a/beike/Plugin/Plugin.php +++ b/beike/Plugin/Plugin.php @@ -157,10 +157,23 @@ class Plugin implements Arrayable, \ArrayAccess */ public function validate($requestData): \Illuminate\Contracts\Validation\Validator { - $rules = array_column($this->columns,'rules', 'name'); + $rules = array_column($this->columns, 'rules', 'name'); return Validator::make($requestData, $rules); } + /** + * 获取插件自定义编辑模板 + * @return string + */ + public function getColumnView(): string + { + $viewFile = $this->getPath() . '/Views/columns.blade.php'; + if (file_exists($viewFile)) { + return "{$this->dirName}::columns"; + } + return ''; + } + /** * 获取插件启动文件路径 * diff --git a/plugins/Paypal/Views/columns.blade.php b/plugins/Paypal/Views/columns.blade.php new file mode 100644 index 00000000..b54c9340 --- /dev/null +++ b/plugins/Paypal/Views/columns.blade.php @@ -0,0 +1 @@ +这里是paypal自定义模板