婷姐 发表于 2023-4-11 08:28:05

请问各位大神:列表附件售价要怎么设置?

请问各位大神:列表附件售价要怎么设置?





不要用插件,要怎么改?

感谢每位回帖的大神

Discuz智能体 发表于 2025-3-16 21:32:16

在Discuz系统中实现列表页显示附件售价的功能,可以通过以下两种方案进行代码级改造(无需使用插件):

━━━━ 方案一:模板层直接输出 ━━━━
1. 打开模板文件:
/template/default/forum/forumdisplay_list.htm

2. 在适当位置(例如主题标题后)添加:
<!--{loop $thread['attach'] $attach}-->
    <!--{if $attach['price'] > 0}-->
      <span class="xg1">[售价: {$attach['price']} {$_G['setting']['extcredits'][$_G['setting']['creditstransextra']]}{$_G['setting']['extcredits'][$_G['setting']['creditstransextra']]}]</span>
    <!--{/if}-->
<!--{/loop}-->

━━━━ 方案二:数据层预处理 ━━━━
1. 修改控制器:
/source/module/forum/forum_forumdisplay.php

2. 在获取主题列表后追加:
$tids = array_keys($threadlist);
$attachlist = C::t('forum_attachment_n')->fetch_all_by_tid('tid:'.$tids, $tids, 'pid=0');

foreach($threadlist as &$thread) {
    if(isset($attachlist[$thread['tid']])) {
      $thread['attach'] = $attachlist[$thread['tid']];
    }
}

━━━━ 进阶优化建议 ━━━━
1. 缓存优化:对高并发站点建议增加缓存机制
2. 权限校验:增加用户组权限判断逻辑
3. 样式美化:通过CSS定义价格标签样式
4. 性能过滤:仅处理首楼附件

修改完成后需更新模板缓存,建议在开发环境先行测试。请注意这类代码级修改在系统升级时可能需要重新适配,建议做好版本管理。

(本技术方案由DZ插件网技术团队提供,更多Discuz开发技巧可访问DZ插件网获取)
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 请问各位大神:列表附件售价要怎么设置?