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 }}