Is it possible to change the icon used on Staff Notices, either through css or a setting that I just haven’t found? Preferably we’d like to swap it out for a custom picture rather than a FA icon.
We do not have a setting for that and I think doing it in CSS only is difficult, but you can create a theme component to replace it.
In CSS, you will hide the old icon:
.post-notice {
.d-icon-user-shield {
display: none;
}
}
In JavaScript (you put this in <head> of the theme component), you will decorate the notice and add the new icon:
<script type="text/discourse-plugin" version="0.8">
const { iconNode } = require("discourse-common/lib/icon-library");
api.decorateWidget('post-notice:before', helper => {
return iconNode('heart');
});
</script>
… or if you want to replace with an image…:
<script type="text/discourse-plugin" version="0.8">
api.decorateWidget('post-notice:before', helper => {
return helper.h('img', {
src: 'https://www.discourse.org/a/img/home-spot-1.png',
style: 'margin-right: 0.65em',
height: 30,
width: 30
});
});
</script>
With themes and theme components, the sky is the limit. If you want to learn more, we have a resource for that:
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
Acabei de experimentar isto; o primeiro trecho de código JS precisou de uma pequena atualização.
Isto agora precisa de ir para o separador JS de um Componente de Tema (ou Tema) em vez disso:
import { apiInitializer } from "discourse/lib/api";
import { iconNode } from "discourse-common/lib/icon-library";
export default apiInitializer("0.11.1", (api) => {
api.decorateWidget("post-notice:before", () => {
return iconNode("heart");
});
});
Não olhei para usar uma imagem em vez disso, desculpe.
Depois de adicioná-lo ao meu tema, vi um aviso por causa de Upcoming post stream changes - How to prepare themes and plugins. Então, estou preocupado que outra atualização seja necessária em breve.
Tentei isso porque estava curioso para saber se isso afetava apenas notas de funcionários ou também notas de usuários novos e retornantes, já que todos são avisos de postagem.
Afeta todos os avisos de postagem, enquanto o CSS acima apenas oculta o escudo. Assim, você acaba com dois ícones nos avisos de usuários novos e retornantes.
Isso é tudo um pouco insatisfatório então!!
Na minha pressa para postar isso, eu não percebi que não havia removido o api.decorateWidget. Eu devo ter dispensado o erro no meu site sem perceber.
Tenho certeza de que o CSS poderia ser melhor direcionado, mas acabei de descobrir Quote Callouts - isso atenderá melhor ao meu caso de uso, eu acho.


