Browse Source

feat(taglib): 支持模板变量作为内容ID参数

- 修改 cid 参数处理逻辑,支持模板变量格式如 cid="$ui_invest_learn"
- 添加 autoBuildVar 方法调用以运行时解析模板变量
- 区分模板变量和普通数字ID的处理方式
- 更新内容服务调用,动态传递 cid 参数而非字符串转义
- 优化代码结构提高可读性和维护性
master
zhangf@suq.cn 1 week ago
parent
commit
5552f530da
  1. 12
      app/taglib/HcTaglib.php

12
app/taglib/HcTaglib.php

@ -690,7 +690,13 @@ parse;
*/ */
public function tagContentPage($tag, $content): string 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']; $keywords = empty($_GET['keywords']) ? '' : $_GET['keywords'];
$item = empty($tag['item']) ? 'vo' : $tag['item']; $item = empty($tag['item']) ? 'vo' : $tag['item'];
$mainField = empty($tag['mainField']) ? '*' : $tag['mainField']; $mainField = empty($tag['mainField']) ? '*' : $tag['mainField'];
@ -715,7 +721,7 @@ parse;
$parse = <<<parse $parse = <<<parse
<?php <?php
\${$returnVarName} = \app\service\ContentService::tagContentPage([ \${$returnVarName} = \app\service\ContentService::tagContentPage([
'cid' => '{$cid}',
'cid' => {$cid},
'item' => '{$item}', 'item' => '{$item}',
'mainField' => '{$mainField}', 'mainField' => '{$mainField}',
'subField' => '{$subField}', 'subField' => '{$subField}',
@ -741,7 +747,7 @@ parse;
$parse = <<<parse $parse = <<<parse
<?php <?php
\${$returnVarName} = \app\service\ContentService::tagContentPage([ \${$returnVarName} = \app\service\ContentService::tagContentPage([
'cid' => '{$cid}',
'cid' => {$cid},
'item' => '{$item}', 'item' => '{$item}',
'mainField' => '{$mainField}', 'mainField' => '{$mainField}',
'subField' => '{$subField}', 'subField' => '{$subField}',

Loading…
Cancel
Save