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