From 4747d92068c06623ceb15c4683ba3e76baa0e11b Mon Sep 17 00:00:00 2001 From: bigemon Date: Wed, 15 Apr 2026 08:46:13 +0800 Subject: [PATCH] =?UTF-8?q?feat(Phase=201):=20Goods.php=201=E8=A1=8C?= =?UTF-8?q?=E6=94=B9=E6=B3=95=20-=20item=5Ftype=3Dticket=E8=B5=B0=E7=8B=AC?= =?UTF-8?q?=E7=AB=8B=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 return MyView() 前加判断 - 查询 vr_seat_template 和 goods_spec_data 传递给模板 - 模板路径: /../../../plugins/vr_ticket/view/goods/ticket_detail - 前端已验证渲染正常(座位图+场次+观演人表单) --- app/index/controller/Goods.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/index/controller/Goods.php b/app/index/controller/Goods.php index af0e66203..9e06d5a21 100755 --- a/app/index/controller/Goods.php +++ b/app/index/controller/Goods.php @@ -135,6 +135,26 @@ class Goods extends Common MyViewAssign($assign); // 钩子 $this->PluginsHook($goods_id, $goods); + // VR票务插件:票类商品使用独立模板 + if (!empty($assign['goods']['item_type']) && $assign['goods']['item_type'] == 'ticket') { + // 查询座位模板(按商品分类匹配) + $category_id = $assign['goods']['category_id'] ?? 0; + $vr_seat_template = []; + if ($category_id > 0) { + $vr_seat_template = \Db::name('plugins_vr_seat_templates') + ->where('category_id', $category_id) + ->where('status', 1) + ->order('id', 'desc') + ->find(); + } + // 查询商品规格数据(场次信息) + $goods_spec_data = GoodsService::GoodsSpecData($goods_id, $goods); + // 追加模板变量 + $assign['vr_seat_template'] = $vr_seat_template; + $assign['goods_spec_data'] = $goods_spec_data; + MyViewAssign($assign); + return MyView('/../../../plugins/vr_ticket/view/goods/ticket_detail'); + } return MyView(); } MyViewAssign('msg', MyLang('goods.goods_no_data_tips'));