Discourse ahora ofrece un componente de tema official para admitir este caso de uso:
Contenido original
No estoy seguro de que tener el logotipo principal de Discourse enlazando a un sitio externo sea una buena idea para la mayoría de los sitios, pero hay excepciones en las que tiene sentido llevar a los usuarios a un sitio web externo al hacer clic en el logotipo principal de Discourse. Si quieres hacer eso, aquí te explicamos cómo.
Crear un nuevo componente de tema
nota, esta sección de la guía se extraerá pronto a un tema dedicado.
Haz clic en el enlace “Componentes” en la barra lateral de tu página Administrar / Personalizar / Temas. Luego, desde la parte inferior de la barra lateral, haz clic en el botón “Instalar”:
En la ventana modal que se abre, haz clic en el enlace “Crear nuevo”:
Dale un nombre a tu componente de tema y asegúrate de que esté seleccionado el tipo “Componente”. Luego haz clic en el botón “Crear”:
A continuación, se te llevará a la página principal del componente de tema.
Añadir el código al componente de tema
El código para anular la URL predeterminada del logotipo principal debe añadirse a la sección HEAD de tu componente de tema. Para acceder al editor del componente, haz clic en el botón “Editar CSS/HTML”:
En el editor que se abre, haz clic en el enlace “Head”:
Dependiendo de varias condiciones, añade los siguientes fragmentos de código a la sección HEAD del editor para modificar la URL a la que apunta el logotipo de inicio. Ten en cuenta que necesitas reemplazar https://example.com en el código con la URL completa de la página de inicio de tu sitio externo:
- para cambiar el enlace a una URL estática:
<script type="text/discourse-plugin" version="1.3.0">
api.registerValueTransformer("home-logo-href", () => "https://example.com")
</script>
- para devolver una URL dinámica basada en el usuario actual:
<script type="text/discourse-plugin" version="1.3.0">
api.registerValueTransformer("home-logo-href", () => {
const currentUser = api.getCurrentUser();
return `https://example.com/${currentUser.username}`;
})
</script>
- para devolver una URL basada en una configuración del componente de tema:
<script type="text/discourse-plugin" version="1.3.0">
api.registerValueTransformer("home-logo-href", () => {
return settings.example_logo_url_setting;
})
</script>
Haz clic en el botón “Guardar” para guardar tus cambios. Vuelve a la página principal del componente de tema después de hacerlo, luego haz clic en el enlace “Añadir a todos los temas” para añadir el nuevo componente a todos los temas de tu sitio:








