完善 hook demo

This commit is contained in:
Edward Yang 2023-02-07 11:49:22 +08:00
parent 6095b5de23
commit ed5a43b692
1 changed files with 15 additions and 4 deletions

View File

@ -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 = '<span class="badge" style="background-color: #FF4D00; color: #ffffff; border-color: #FF4D00">Hot</span>';
return $badge . $output;
});
// 通过模板 hook 在产品详情页品牌下面添加信息
add_hook_blade('product.detail.brand', function ($callback, $output, $data) {
return $output . '<div class="d-flex"><span class="title text-muted">Brand 2:</span>品牌 2</div>';
});
// 通过模板 hook 在产品详情页立即购买后添加按钮
add_hook_blade('product.detail.buy.after', function ($callback, $output, $data) {
$view = view('LatestProducts::shop.product_button')->render();
$view = '<button class="btn btn-dark ms-3 fw-bold"><i class="bi bi-bag-fill me-1"></i>新增按钮</button>';
return $output . $view;
});
}