在过去的几个月里,我们一直在开发 Discourse 核心产品中的一个欢迎横幅功能。这个核心欢迎横幅功能会欢迎新老访客访问您的社区,并帮助他们轻松查找与其需求和兴趣相关的内容。随着这一新的核心横幅功能的推出,我们现在将弃用搜索横幅主题组件,以减少产品功能的复杂性,并确保所有 Discourse 用户都能持续受益于核心功能的改进。
在本主题中,我们将介绍弃用对当前使用搜索横幅主题组件的用户意味着什么。
如果您是托管用户…
我们将于 2025年11月20日 开始将托管用户从搜索横幅组件迁移到欢迎横幅功能。如果您目前正在使用该组件,您将收到一封包含您所在计划层级的确切迁移时间的邮件。
此次迁移将把您为主题组件更新的任何站点文本(即 search_banner.headline、search_banner.subhead、search_banner.search_button_text)以及 show on、plugin outlet 和 background image 主题组件设置的值,复制到核心功能设置中。
我们的目标是尽量减少此次迁移的可见影响,使核心功能创建的横幅与主题组件创建的横幅看起来相同。带有图片的社区可能会注意到图片位置的轻微偏移,这可以通过裁剪图片来解决,以确保您希望在横幅中显示的内容居中。
迁移完成后,主题组件将被禁用,您可以安全地从 主题与组件 页面(/admin/config/customize/components)中删除它。
如果您是自托管用户…
您应计划在 2025年12月15日 前自行从主题组件迁移到核心功能。您可以手动迁移或使用我们提供的脚本进行迁移。
手动迁移
以下是搜索横幅主题组件的站点文本和设置与核心欢迎横幅功能相同功能的映射关系:
| 设置描述 | 搜索横幅主题组件 | 欢迎横幅核心功能 |
|---|---|---|
| 欢迎横幅上显示的标题文本。 | search_banner.headline 站点文本 |
js.welcome_banner.header.anonymous_members 和 js.welcome_banner.header.logged_in_members 站点文本 |
| 欢迎横幅上显示的副标题文本。 | search_banner.subhead 站点文本 |
js.welcome_banner.subheader.anonymous_members 和 js.welcome_banner.subheader.logged_in_members 站点文本 |
| 横幅上搜索按钮使用的文本。\* | search_banner.search_button_text 站点文本 |
js.welcome_banner.search_placeholder 站点文本 |
| 用于确定在哪些页面显示欢迎横幅的设置。 | show on 主题组件设置 |
欢迎横幅页面可见性 站点设置 |
| 用于确定欢迎横幅在页面上的位置的设置。 | plugin outlet 主题组件设置 |
欢迎横幅位置 站点设置 |
| 欢迎横幅上使用的背景图片。 | background image light 主题组件设置 |
欢迎横幅图片 站点设置 |
\* 注意:核心欢迎横幅功能不支持显式的搜索按钮,因此我们建议将此文本映射到可自定义的搜索字段占位符文本,以获得类似的结果。
脚本迁移
迁移包括三个必须按以下顺序运行的 rake 任务:
- 迁移组件设置:
themes:advanced_search_banner:1_migrate_settings_to_welcome_banner - 迁移组件翻译:
themes:advanced_search_banner:2_migrate_translations_to_welcome_banner - 启用核心横幅,从使用该组件的主题中排除,并禁用组件:
themes:advanced_search_banner:3_exclude_and_disable
在容器中运行的文件 \u003crandom_name\u003e.sh:
task_1.sh:
#!/bin/bash
cd /var/www/discourse && rake themes:advanced_search_banner:1_migrate_settings_to_welcome_banner
task_2.sh:
#!/bin/bash
cd /var/www/discourse && rake themes:advanced_search_banner:2_migrate_translations_to_welcome_banner
task_3.sh:
#!/bin/bash
cd /var/www/discourse && rake themes:advanced_search_banner:3_exclude_and_disable
建议逐个运行每个 rake 任务,以更好地控制迁移过程。
我们还提供了一个方便的任务 themes:advanced_search_banner:migrate_all,可按顺序运行所有三个任务,但请自行决定是否使用。