From 5552f530da9061d270d7f8fb51746fa1bd29d16d Mon Sep 17 00:00:00 2001 From: "zhangf@suq.cn" Date: Thu, 10 Sep 2026 14:09:46 +0800 Subject: [PATCH] =?UTF-8?q?feat(taglib):=20=E6=94=AF=E6=8C=81=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=8F=98=E9=87=8F=E4=BD=9C=E4=B8=BA=E5=86=85=E5=AE=B9?= =?UTF-8?q?ID=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 cid 参数处理逻辑,支持模板变量格式如 cid="$ui_invest_learn" - 添加 autoBuildVar 方法调用以运行时解析模板变量 - 区分模板变量和普通数字ID的处理方式 - 更新内容服务调用,动态传递 cid 参数而非字符串转义 - 优化代码结构提高可读性和维护性 --- app/taglib/HcTaglib.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/taglib/HcTaglib.php b/app/taglib/HcTaglib.php index 6a75948..6c3e9ba 100644 --- a/app/taglib/HcTaglib.php +++ b/app/taglib/HcTaglib.php @@ -690,7 +690,13 @@ parse; */ public function tagContentPage($tag, $content): string { - $cid = !empty($_GET['cid']) ? $_GET['cid'] : (empty($tag['cid']) ? '' : (int)$tag['cid']); + $cid = !empty($_GET['cid']) ? (int)$_GET['cid'] : (empty($tag['cid']) ? '' : $tag['cid']); + if (strpos($cid, '$') === 0) { + // cid 为模板变量(如 cid="$ui_invest_learn"),运行时解析 + $this->autoBuildVar($cid); + } else { + $cid = (int)$cid; + } $keywords = empty($_GET['keywords']) ? '' : $_GET['keywords']; $item = empty($tag['item']) ? 'vo' : $tag['item']; $mainField = empty($tag['mainField']) ? '*' : $tag['mainField']; @@ -715,7 +721,7 @@ parse; $parse = << '{$cid}', + 'cid' => {$cid}, 'item' => '{$item}', 'mainField' => '{$mainField}', 'subField' => '{$subField}', @@ -741,7 +747,7 @@ parse; $parse = << '{$cid}', + 'cid' => {$cid}, 'item' => '{$item}', 'mainField' => '{$mainField}', 'subField' => '{$subField}',