Barra de herramientas bajo el encabezado del sitio por categoría

https://meta.discourse.org/t/welcome-link-banner/218743/28

Hola, ¿te gustaría ver mi solicitud de función?

https://meta.discourse.org/t/welcome-link-banner/218743/73?u=heliosurge

O alternativamente, un componente temático que permita “acoplar” una barra de herramientas debajo de la barra principal del sitio al ver una categoría específica. Es lo que busco más específicamente. Esto podría ser algo como los enlaces de encabezado personalizados de Joe, por ejemplo.

Incluso la orientación para ajustar el comportamiento de un componente temático existente para lograr esto sería genial.

Me disculpo, ya que todavía soy un novato y estoy aprendiendo sobre la marcha.

1 me gusta

¡Hola!

¿Podrías ser un poco más específico sobre tus necesidades? ¿Qué quieres poner exactamente debajo del encabezado de Discourse?

La forma estándar de poner “cualquier cosa” debajo del encabezado es dentro de la pestaña Después del encabezado al editar un tema o un componente:

Pero parece que estás pensando en algo más dinámico y/o más complejo.

Cuanta más información proporciones, más útiles serán las respuestas :slight_smile:

1 me gusta

Gracias por la rápida respuesta.

Para ser muy claro y específico, algo como los Enlaces de Encabezado Personalizado de Johani (Icono) sería casi perfecto.

Dicho esto, el propósito es tener idealmente una barra de herramientas con un logotipo clickeable y luego un par de menús desplegables.

Por ejemplo, el foro tiene un patrocinador que posee la Categoría A con 2 subcategorías. Cuando los usuarios están viendo la Categoría A o sus subcategorías, una barra de herramientas está anclada debajo del encabezado del sitio. Con enlaces para esa empresa.

es decir, enlace a la tienda, soporte, enlaces de la comunidad.

Los enlaces de encabezado personalizados son un componente de tema bastante simple y creo que sería un buen punto de partida usar la misma base de código pero colocar la lista de enlaces en otro lugar.
Dicho esto, no admite submenús, lo que sería más complicado de agregar.

Otro enfoque sería hacer un componente sin configuraciones, solo usando HTML, CSS (y quizás un poco de JS). Por lo tanto, sería una personalización bastante “estática” y si necesita hacer algún cambio, tendría que editar el código HTML y CSS apropiado.

Aquí hay un ejemplo que hice para mi propio foro:

Y cómo se ve en las personalizaciones del sitio:

¿Sería suficiente una forma así para sus necesidades, o prefiere algo más fácil de editar desde el lado del administrador como el componente enlaces de encabezado personalizados con varias entradas, como esta?

Algo como los Enlaces de encabezado personalizados podría ser más fácil hasta que tenga más experiencia. O tal vez orientación para crear un componente separado que, por ejemplo, apunte y anule algo como el componente de enlaces de encabezado personalizados de Johani para cambiar el comportamiento a debajo del encabezado (puede que ya exista una opción para esto) con anulaciones para usar la categoría principal actual.

Sin embargo, si tengo 2 patrocinadores, necesitaría saber si puedo instalar el componente dos veces renombrando el componente y apuntando al componente por nombre.

por ejemplo

  1. (A) Enlaces de encabezado personalizados
  2. (B) Enlaces de encabezado personalizados

Si no me equivoco, hay un componente temático que agrega una barra lateral basada en la categoría. Pero una barra lateral no funcionaría ya que solo es para escritorio. Así que necesito una barra superior.

Sé que puedo exportar y luego importar desde un archivo zip para modificar el código. Pero necesitaría orientación sobre qué cambiar si sigo esta ruta. Estoy dispuesto a intentarlo.

Ahora podría ser más fácil trabajar en un componente de tema personalizado
para, como mencionaste, simplificar esto con algo simple después del código del encabezado que apunta a la categoría mostrando enlaces simples con una imagen aquí y allá para los enlaces principales con, digamos, un enlace de comunidad que va a una publicación o página publicada.

Nuevamente, quiero agradecerle su tiempo y el intercambio de conocimientos.

Aquí tienes un ejemplo práctico que he preparado para ti:

Aquí está el HTML que puse en la pestaña After Header

<div id="category-general-banner" class="below-header-banner">
    <h2>🚀 Aquí hay contenido que solo se muestra en la categoría <strong>General</strong></h2>
</div>

<div id="category-site-feedback-banner" class="below-header-banner">
    <h2>✨ Aquí hay contenido que solo se muestra en la categoría <strong>Site Feedback</strong></h2>
</div>

Aquí está el SCSS que puse en la pestaña CSS (Discourse usa SCSS, que amplía las características de CSS):

$category_classes: "general", "site-feedback";

.below-header-banner {
    display: none;
}

@each $cat in $category_classes {
    body.category-#{$cat} {
        #category-#{$cat}-banner.below-header-banner {
            display: block;
        }
    }
}

Aquí está el resultado. Cada banner aparece solo en su categoría respectiva.

¡Espero que eso ayude más!

1 me gusta

¡Eso es absolutamente perfecto! ¡Muchas gracias!

Con este código base, ¿seguirá mostrando si está en una subcategoría del padre? ¿O necesito agregar las subcategorías a la condición?

Realmente debería copiar y pegar y responderle. Ya que ha sido muy amable con todo el tiempo que ha compartido ayudándome.

:vulcan_salute::smiling_face_with_sunglasses::handshake:

1 me gusta

Las subcategorías tienen su propia clase en la etiqueta body.

Por ejemplo, en https://meta.discourse.org/c/support/wordpress/21, Support > WordPress es una subcategoría de Support.

La clase de categoría en <body> es: category-support-wordpress.

Si quieres que el banner se muestre en las subcategorías, así como en su padre, el código SCSS debería ser diferente. Puedo echarle un vistazo mañana.

1 me gusta

¡Genial! Muchas gracias de nuevo por compartir la riqueza de tus conocimientos y darme un buen comienzo.

¡Definitivamente eres un activo para tu equipo! :clinking_beer_mugs::smiling_face_with_sunglasses::vulcan_salute:

2 Me gusta

Mis disculpas por mi inexperiencia. ¿Pero puedo contar contigo una vez más?


<div id="pimax-navbar">
 <span id="pimax-top-links">
 <ul class="pimax-nav-link-container">
   <li><b><a href="//pimax.com/pages/pitool/?utm_source=openmr_forum&utm_medium=forumheader&utm_campaign=pitool_button" class="pimax-link">Pitool</a></b></li>
   <li><b><a href="//www.pimax.com/?utm_source=openmr_forum&utm_medium=forumheader&utm_campaign=brandsite_button" class="pimax-link">Store</a></b></li>
   <li><b><a href="//support.pimax.com/?utm_source=openmr_forum&utm_medium=forumheader&utm_campaign=support_button" class="pimax-link">Support</a></b></li>
 </ul>
 </span>
</div>

¿Cómo combino esto con tu ejemplo? ¿Y cómo hago que los enlaces se extiendan de izquierda a derecha en lugar de apilarse uno encima del otro?

Básicamente, tomarías este código y lo pondrías en mi código como un reemplazo para la etiqueta <h2> y su contenido. Pero te sugeriría que refinaras y adaptaras este código a tus necesidades, no que simplemente lo copiaras y pegaras.

En cuanto a tener la lista de elementos en línea en lugar de uno encima del otro, hay muchas formas de CSS para hacerlo… Muchas de ellas son bastante sencillas, pero entonces nos salimos un poco del alcance de la ayuda que brindamos aquí. Vea esta explicación:

En este tipo de casos sobre cosas generales de HTML y CSS, no directamente relacionadas con Discourse, puede encontrar información aquí: Making custom CSS changes on your site
Y prácticamente en cualquier lugar de Internet. Por ejemplo: https://www.google.com/search?q=css+make+list+element+inline

Dicho esto, ¿cuáles son tus habilidades actuales con HTML y CSS?
Saber un poco más sobre esto ayudaría a escribir respuestas más personalizadas. :slight_smile:

1 me gusta

Si soy honesto conmigo mismo y con los que me rodean. Soy un entusiasta novato. He tenido algo de programación en la escuela secundaria involucrando gwbasic y turbo pascal. He tomado la iniciativa de usar una aplicación para ayudar a aprender html y CSS y he tenido algunos éxitos. Sin embargo, nada a un alto nivel.

Por ejemplo, alguien compartió un ejemplo de código para ocultar una categoría del menú de hamburguesa. Funcionó bien, pero fue mucho código para ocultar todas las que quería. Esto fue antes del componente temático “Category Hider”, aunque contribuí con una idea para tener una opción para ocultar todas las subcategorías a la que un miembro de la comunidad compartió un código de 1 o 2 líneas que ocultó todas las subcategorías. lol

Eso fue mucho más eficiente que apuntar a cada una para ocultarla individualmente. :wink:

Sin embargo, ahora he tenido un éxito moderado modificando el banner Welcome Link al comparar el settings.yml con Modern Category boxes, si no me equivoco, el settings.yml intercambiando la primera configuración con una que apunta a listar categorías frente a descubrimiento. Sin embargo, parece que todavía necesito comparar un par de archivos para ver dónde surte efecto la configuración. Como puedo agregar categorías a la primera configuración, pero todavía no parece estar funcionando.

Sé que necesito leer más y usar un mejor IDE que mi móvil para evolucionar verdaderamente mi comprensión y conciencia. Llegaré allí, solo necesito tener la humildad y el enfoque para hacerlo.

Por eso estoy verdaderamente agradecido de tener esta gran y comprensiva comunidad que a menudo, cuando se le pregunta, me ha brindado la orientación que necesito con un alto nivel de paciencia que muchos no darían.

Sé que estudiando código y tomándome mi tiempo, llegaré allí. Soy demasiado terco para no hacerlo.

Uso Linux y ahora he configurado mi escritorio para facilitar las cosas. Además, necesito ver cómo el lado de diseño de escritorio y el móvil crean un diseño bien equilibrado. Estoy aprendiendo cosas nuevas todo el tiempo. Estoy basando el núcleo en el Air Theme, ya que es un gran punto de partida.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.