自定义主题但没有“编辑代码”按钮

有时,您可能希望自定义 Discourse 主题,但发现没有可用的“自定义代码”部分和“编辑代码”按钮。这通常发生在远程主题(从外部源安装的主题)和预安装的主题(Horizon 和 Foundation)中。以下是您仍然可以添加自定义内容的方法:

了解限制

对于预安装的主题,您会看到一个横幅告诉您

此主题是预安装的,无法删除或自定义

对于远程主题,您通常会看到类似以下的消息:

如果要编辑此主题,您必须在其存储库上提交更改

:discourse2: 由 Discourse 托管?那么您可能会看到:“Discourse 中禁用了远程主题的编辑。如果您需要在将自定义的远程主题转换为本地主题时获得帮助,请与我们联系。”

自定义选项

  1. 向主存储库提交更改:如果您的更改可能使其他人受益,请考虑将其提交给主题的原始创建者。这需要熟悉 git 和 GitHub。
  2. 创建存储库的副本(分支):创建主题代码存储库的您自己的版本,添加您的自定义内容,然后使用您复制的版本。此方法需要技术知识,并且意味着您需要自己维护更新。
  3. 创建自定义组件:此方法允许您在不修改原始主题的情况下添加自定义内容。对于大多数管理员来说,这是推荐的方法,也是本指南的重点。

创建自定义组件

请按照以下步骤为您的主题自定义创建自定义组件:

  1. 访问您站点的管理面板并导航至 /admin/config/customize/components

  2. 单击右上角的“安装”按钮

  3. 选择“+ 创建新的”,输入组件的名称(例如“我的自定义组件”),选择“组件”作为类型,然后单击“创建”

  4. 您会自动重定向到您创建的新组件。

  5. 将组件添加到您想要自定义的主题中

    :warning: 不要忘记单击绿色的勾号来保存

  6. 单击“编辑代码”

  7. 在适当的部分(CSS、<head> 等)中添加您的自定义内容

  8. 单击“保存”以应用您的更改

重要说明

  • 您的自定义内容将应用于现有主题之上。
  • 如果基础主题更新,您的自定义组件仍将应用其更改,这有时可能导致意外结果。
  • 主题更新后,请务必彻底测试您的自定义内容。

通过遵循这些步骤,您可以向 Discourse 主题添加自定义 CSS、HTML 或其他修改,而无需直接编辑远程主题文件。此方法适用于大多数希望对站点外观或功能进行微小自定义的管理员。

13 个赞