2015-10-20 6 views
1

Я создаю плагин для Redmine. Я хочу добавить класс в тег a на странице списка проблем (issues/_list.html.erb). Но я не хочу менять основной код Redmine. Насколько я понимаю, крючки (например, :view_issues_index_bottom) позволяют мне добавлять данные, но не заменяют их. Как заменить часть списка на странице списка проблем из моего плагина?Как заменить частичный рендеринг из моего плагина в redmine?

ответ

1

Просто скопируйте issues/_list.html.erb в свой плагин просматривает папку (/plugins/your_plugin/app/views/issues/_list.html.erb) и редактировать его как nessecary.

Redmine сначала будет использовать ваши плагины.

+0

Сокращенный, потому что ответ Йенса прав: он будет работать, но в конечном итоге это повредит. – jan

+0

Да, это моя ошибка. Сначала я понимаю, что @kdjonua хочет полностью заменить вид. Конечно, мой ответ неверен для обновления просмотров. –

0

Вы можете попробовать добавить gem deface и заменить его частью своей функции. Посмотрите на это commit качестве примера

2

Как правило, не просто переопределяйте основные виды в своем плагине, как указано в принятом ответе.

Это делает обновления Redmine более трудными или невозможными для ваших пользователей, может привести к неправильному поведению или ошибкам при использовании с другой версией Redmine, чем тот, с которого вы взяли представление, и это, скорее всего, предотвратит включение плагина в предложения Redmine хостеров, таких как Planio.

Вместо этого либо поставьте правильный патч Redmine как часть вашего плагина (и укажите, как его применять), либо выполните любые необходимые изменения DOM через Javascript через обычные крючки. Если вы чувствуете, что перехватчики отсутствуют, вы также можете отправить патч для Redmine, добавляя новые крючки.