From 588d3b0e9000f18acb2df3e90a11fdccd464b8a1 Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Tue, 31 Jan 2023 18:45:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8F=92=E4=BB=B6=E5=BC=80?= =?UTF-8?q?=E5=8F=91demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/LatestProducts/Bootstrap.php | 27 ++++++++++++++++--- .../Controllers/MenusController.php | 2 +- .../admin/product/edit_extra_field.blade.php | 1 + .../Views/{ => shop}/header_icon.blade.php | 0 .../{ => shop}/latest_products.blade.php | 0 .../Views/{ => shop}/product_button.blade.php | 0 .../views/pages/products/form/form.blade.php | 4 +++ themes/default/product.blade.php | 2 ++ 8 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 plugins/LatestProducts/Views/admin/product/edit_extra_field.blade.php rename plugins/LatestProducts/Views/{ => shop}/header_icon.blade.php (100%) rename plugins/LatestProducts/Views/{ => shop}/latest_products.blade.php (100%) rename plugins/LatestProducts/Views/{ => shop}/product_button.blade.php (100%) diff --git a/plugins/LatestProducts/Bootstrap.php b/plugins/LatestProducts/Bootstrap.php index 6b17d3a0..ac075036 100644 --- a/plugins/LatestProducts/Bootstrap.php +++ b/plugins/LatestProducts/Bootstrap.php @@ -22,8 +22,23 @@ class Bootstrap // $this->modifyHeader(); // $this->modifyProductDetail(); + + // $this->modifyAdminProductEdit(); } + + /** + * 后台产品编辑页添加自定义字段 + */ + private function modifyAdminProductEdit() + { + blade_hook('admin.product.edit.extra', function ($callback, $output, $data) { + $view = view('LatestProducts::admin.product.edit_extra_field', $data)->render(); + return $output . $view; + }, 1); + } + + /** * 在前台网页头部添加二级菜单链接 */ @@ -35,7 +50,7 @@ class Bootstrap "link" => plugin_route('latest_products'), ]; return $data; - }); + }, 0); } @@ -61,7 +76,7 @@ class Bootstrap }); blade_hook('header.menu.icon', function ($callback, $output, $data) { - $view = view('LatestProducts::header_icon')->render(); + $view = view('LatestProducts::shop.header_icon')->render(); return $output . $view; }); } @@ -69,17 +84,23 @@ class Bootstrap /** * 修改产品详情页 + * 1. 在产品名称上面添加 Hot 标签 * 1. 品牌下面添加信息 * 2. 立即购买后添加按钮 */ private function modifyProductDetail() { + blade_hook('product.detail.name', function ($callback, $output, $data) { + $badge = 'Hot'; + return $badge . $output; + }); + blade_hook('product.detail.brand', function ($callback, $output, $data) { return $output . '
Brand 2:品牌 2
'; }); blade_hook('product.detail.buy.after', function ($callback, $output, $data) { - $view = view('LatestProducts::product_button')->render(); + $view = view('LatestProducts::shop.product_button')->render(); return $output . $view; }); } diff --git a/plugins/LatestProducts/Controllers/MenusController.php b/plugins/LatestProducts/Controllers/MenusController.php index 16212ce0..7afd1b5f 100644 --- a/plugins/LatestProducts/Controllers/MenusController.php +++ b/plugins/LatestProducts/Controllers/MenusController.php @@ -37,6 +37,6 @@ class MenusController extends Controller 'products' => $products, 'items' => ProductSimple::collection($products)->jsonSerialize(), ]; - return view("LatestProducts::latest_products", $data); + return view('LatestProducts::shop.latest_products', $data); } } diff --git a/plugins/LatestProducts/Views/admin/product/edit_extra_field.blade.php b/plugins/LatestProducts/Views/admin/product/edit_extra_field.blade.php new file mode 100644 index 00000000..f0bad4da --- /dev/null +++ b/plugins/LatestProducts/Views/admin/product/edit_extra_field.blade.php @@ -0,0 +1 @@ + diff --git a/plugins/LatestProducts/Views/header_icon.blade.php b/plugins/LatestProducts/Views/shop/header_icon.blade.php similarity index 100% rename from plugins/LatestProducts/Views/header_icon.blade.php rename to plugins/LatestProducts/Views/shop/header_icon.blade.php diff --git a/plugins/LatestProducts/Views/latest_products.blade.php b/plugins/LatestProducts/Views/shop/latest_products.blade.php similarity index 100% rename from plugins/LatestProducts/Views/latest_products.blade.php rename to plugins/LatestProducts/Views/shop/latest_products.blade.php diff --git a/plugins/LatestProducts/Views/product_button.blade.php b/plugins/LatestProducts/Views/shop/product_button.blade.php similarity index 100% rename from plugins/LatestProducts/Views/product_button.blade.php rename to plugins/LatestProducts/Views/shop/product_button.blade.php diff --git a/resources/beike/admin/views/pages/products/form/form.blade.php b/resources/beike/admin/views/pages/products/form/form.blade.php index c2c691e7..409748eb 100644 --- a/resources/beike/admin/views/pages/products/form/form.blade.php +++ b/resources/beike/admin/views/pages/products/form/form.blade.php @@ -76,10 +76,12 @@ {{-- --}} + @hook('admin.product.edit.brand', true) + @endhook @@ -98,6 +100,8 @@ + @hook('admin.product.edit.extra') +
{{ __('admin/product.stocks') }}
diff --git a/themes/default/product.blade.php b/themes/default/product.blade.php index 6860ccc9..1c9eef68 100644 --- a/themes/default/product.blade.php +++ b/themes/default/product.blade.php @@ -52,7 +52,9 @@
+ @hook('product.detail.name', true)

{{ $product['name'] }}

+ @endhook
@{{ product.price_format }}