¿Es posible cambiar el icono utilizado en los Avisos del Personal, ya sea mediante CSS o una configuración que simplemente no he encontrado? Preferiblemente, nos gustaría reemplazarlo por una imagen personalizada en lugar de un icono de FA.
No tenemos una configuración para eso y creo que hacerlo solo en CSS es difícil, pero puedes crear un componente de tema para reemplazarlo.
En CSS, ocultarás el icono antiguo:
.post-notice {
.d-icon-user-shield {
display: none;
}
}
En JavaScript (lo colocas en <head> del componente del tema), decorará la notificación y añadirá el nuevo icono:
<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>
… o si prefieres reemplazarlo con una imagen…:
<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>
Con temas y componentes de tema, los límites son los del cielo. Si deseas aprender más, tenemos un recurso para ello:
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
Ya he probado esto; el primer fragmento de código JS necesitaba una pequeña actualización.
Esto ahora necesita ir en la pestaña JS de un Componente de Tema (o Tema) en su lugar:
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");
});
});
No miré cómo usar una imagen en su lugar, lo siento.
Después de agregarlo a mi tema, vi una advertencia debido a Upcoming post stream changes - How to prepare themes and plugins. Así que me preocupa que pronto se necesite otra actualización.
Lo intenté porque tenía curiosidad si solo afectaba las notas del personal o también las notas de usuarios nuevos y recurrentes, ya que todos son avisos de publicaciones.
Afecta a todos los avisos de publicaciones, mientras que el CSS anterior solo oculta el escudo. Así que terminas con dos íconos en los avisos de usuarios nuevos y recurrentes.
¡Eso es un poco insatisfactorio entonces!
En mi prisa por publicar eso, olvidé que no había eliminado api.decorateWidget. Debo haber descartado el error en mi sitio sin darme cuenta.
Estoy seguro de que el CSS podría ser mejor dirigido, pero acabo de descubrir Quote Callouts - creo que esto servirá mejor a mi caso de uso de todos modos.


