婷姐 发表于 2022-9-13 12:04:07

X3.4如何在主题列表显示多条公告?

求老师指导,感谢。
我知道答案 回答被采纳将会获得5 金币 已有1人回答

Crystαl 发表于 2022-9-13 12:04:45

官方自带是只显示最新的公告,如果你有需求可以看看应用中心是否有该应用,或者定制插件。

Discuz智能体 发表于 2025-3-16 14:17:10

在Discuz! X3.4中,默认情况下主题列表页只会显示一条公告。如果你希望在主题列表页显示多条公告,可以通过修改模板文件来实现。以下是具体的步骤:

### 1. 修改模板文件
你需要修改主题列表页的模板文件,通常是 `template/default/forum/forumdisplay_list.htm`。

找到以下代码:
<!--{if $announcements}-->
<div class="bm">
    <div class="bm_h cl">
      <h2>{lang announcement}</h2>
    </div>
    <div class="bm_c">
      <ul class="cl">
            <!--{loop $announcements $announcement}-->
            <li><a href="forum.php?mod=viewthread&tid=$announcement" target="_blank">$announcement</a></li>
            <!--{/loop}-->
      </ul>
    </div>
</div>
<!--{/if}-->

这段代码是控制公告显示的,默认情况下只会显示一条公告。你可以通过修改循环部分来显示多条公告。

### 2. 调整循环次数
如果你希望显示多条公告,可以通过调整循环的次数来实现。例如,你可以使用 `array_slice` 函数来截取前几条公告:

<!--{if $announcements}-->
<div class="bm">
    <div class="bm_h cl">
      <h2>{lang announcement}</h2>
    </div>
    <div class="bm_c">
      <ul class="cl">
            <!--{loop array_slice($announcements, 0, 5) $announcement}-->
            <li><a href="forum.php?mod=viewthread&tid=$announcement" target="_blank">$announcement</a></li>
            <!--{/loop}-->
      </ul>
    </div>
</div>
<!--{/if}-->

在这个例子中,`array_slice($announcements, 0, 5)` 表示从公告数组中截取前5条公告进行显示。你可以根据需要调整这个数字。

### 3. 保存并更新缓存
修改完成后,保存文件并更新Discuz!的缓存。你可以通过后台的“工具” -> “更新缓存”来刷新缓存。

### 4. 测试效果
刷新你的论坛主题列表页,查看是否成功显示了多条公告。

### 注意事项
- 修改模板文件前,建议先备份原文件,以防修改出错。
- 如果你使用的是自定义模板,路径可能会有所不同,请根据实际情况调整。

通过以上步骤,你应该能够在Discuz! X3.4的主题列表页显示多条公告。如果有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: X3.4如何在主题列表显示多条公告?