Как изменить шаблон отображения какого-либо экранного блока

Как обычно — изменения надо делать в виде плагина.
Для переопределения стандартного шаблона отображения какого-либо экранного блока достаточно просто добавить в своё плагин свой шаблон с тем же именем и расположением файла.

Пример

Discourse по умолчанию отображает на главной странице форума над списком разделов подписи к колонкам: «Раздел», «Последние», «Темы»:

Думаю, для поисковой оптимизации этот словесный мусор на главной странице не слишком хорош.
А живые посетители и так поймут, что раздел — это раздел, а темы — это темы.
В общем, удалим эти надписи.
Соответствующий шаблон в дистрибутиве Discourse располагается по фйловому пути app/assets/javascripts/discourse/templates/discovery/categories.hbs: https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/templates/discovery/categories.hbs#L4L10

Для перекрытия этого шаблона достаточно в своём плагине создать свой файл по пути assets/javascripts/discourse/templates/discovery/categories.hbs (обратите внимание, что первую папку пути дистрибутива — app — добавлять в плагине не надо).

Свой шаблон сделаем копированием оригинального, а затем там закомментируем подлежащие удалению заголовки:

{{#if model.categories}}
  <div class='contents'>
    <table class='topic-list categories'>
<!--
      <thead>
        <tr>
          <th class='category'>{{i18n 'categories.category'}}</th>
          <th class='latest'>{{i18n 'categories.latest'}}</th>
          <th class='stats topics'>{{i18n 'categories.topics'}}</th>
        </tr>
      </thead>
-->
      <tbody>
        {{#each c in model.categories}}

Всё! После установки плагина заголовки пропадут:

а как можно вставить в шаблон нужный атрибут? вот так не работает {{input id=(concat ‘user-’ elementId) checked=value type=“checkbox” myattr=“my_value”}}