From ed5a43b6924f39cf11250dcdc4b333405640332f Mon Sep 17 00:00:00 2001 From: Edward Yang Date: Tue, 7 Feb 2023 11:49:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=20hook=20demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/LatestProducts/Bootstrap.php | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/plugins/LatestProducts/Bootstrap.php b/plugins/LatestProducts/Bootstrap.php index f925e682..64868a06 100644 --- a/plugins/LatestProducts/Bootstrap.php +++ b/plugins/LatestProducts/Bootstrap.php @@ -72,23 +72,34 @@ class Bootstrap /** * 修改产品详情页演示 - * 1. 在产品名称上面添加 Hot 标签 - * 2. 品牌下面添加信息 - * 3. 立即购买后添加按钮 + * 1. 通过数据 hook 修改产品详情页产品名称 + * 2. 通过模板 hook 在产品详情页名称上面添加 Hot 标签 + * 3. 通过模板 hook 在产品详情页品牌下面添加信息 + * 4. 通过模板 hook 在产品详情页立即购买后添加按钮 */ private function modifyProductDetail() { + // 通过数据 hook 修改产品详情页产品名称 + add_hook_filter('product.show.data', function ($product) { + $product['product']['name'] = '[疯狂热销]'. $product['product']['name']; + return $product; + }); + + // 通过模板 hook 在产品详情页名称上面添加 Hot 标签 add_hook_blade('product.detail.name', function ($callback, $output, $data) { + return $output; $badge = 'Hot'; return $badge . $output; }); + // 通过模板 hook 在产品详情页品牌下面添加信息 add_hook_blade('product.detail.brand', function ($callback, $output, $data) { return $output . '
Brand 2:品牌 2
'; }); + // 通过模板 hook 在产品详情页立即购买后添加按钮 add_hook_blade('product.detail.buy.after', function ($callback, $output, $data) { - $view = view('LatestProducts::shop.product_button')->render(); + $view = ''; return $output . $view; }); }