如何替换 redmine 插件中的渲染部分?
How can I replace the render partial from my plugin in redmine?
我正在为 Redmine 创建一个插件。我想将 class 添加到问题列表页面(issues/_list.html.erb
视图)的 a
标签中。但我不想更改核心 Redmine 代码。据我了解,挂钩(例如 :view_issues_index_bottom
)允许我添加数据但不能替换它们。如何从我的插件替换问题列表页面上的列表部分?
只需将 issues/_list.html.erb
复制到您的插件视图文件夹 (/plugins/your_plugin/app/views/issues/_list.html.erb
) 并根据需要进行编辑。
Redmine 将首先使用您的插件的视图。
作为一般规则,不要只按照已接受答案中的建议覆盖插件中的核心视图。
它使您的用户更难或不可能升级 Redmine,当与另一个 Redmine 版本一起使用而不是您从中查看的版本时,可能会导致错误的行为或错误,并且很可能会阻止您的插件被包含在产品中像 Planio 这样的 Redmine 主机。
相反,要么提供适当的 Redmine 补丁作为插件的一部分(并记录如何应用它),要么通过 Javascript 通过常规挂钩进行任何必要的 DOM 更改。如果觉得hooks少了,也可以提交补丁给Redmine添加新的hooks
我正在为 Redmine 创建一个插件。我想将 class 添加到问题列表页面(issues/_list.html.erb
视图)的 a
标签中。但我不想更改核心 Redmine 代码。据我了解,挂钩(例如 :view_issues_index_bottom
)允许我添加数据但不能替换它们。如何从我的插件替换问题列表页面上的列表部分?
只需将 issues/_list.html.erb
复制到您的插件视图文件夹 (/plugins/your_plugin/app/views/issues/_list.html.erb
) 并根据需要进行编辑。
Redmine 将首先使用您的插件的视图。
作为一般规则,不要只按照已接受答案中的建议覆盖插件中的核心视图。
它使您的用户更难或不可能升级 Redmine,当与另一个 Redmine 版本一起使用而不是您从中查看的版本时,可能会导致错误的行为或错误,并且很可能会阻止您的插件被包含在产品中像 Planio 这样的 Redmine 主机。
相反,要么提供适当的 Redmine 补丁作为插件的一部分(并记录如何应用它),要么通过 Javascript 通过常规挂钩进行任何必要的 DOM 更改。如果觉得hooks少了,也可以提交补丁给Redmine添加新的hooks