¿Es posible cambiar los nombres de los desplegables?

Hola comunidad :slight_smile:

¿Alguien sabe si hay una opción para cambiar los nombres de los menús desplegables dentro de una categoría en particular?

Me encantaría personalizar las partes de ‘todo’ y ‘todas las etiquetas’:

Prácticamente todo el texto se puede personalizar:

Supongo que necesitas editar, por ejemplo:

2 Me gusta

Pero no cambiará para categorías específicas solamente.

Empecé a trabajar en una solución CSS muy improvisada, no es perfecta… Y de todos modos soy un poco reacio a compartir algo tan improvisado. :confounded:

5 Me gusta

Entendido, ¡gracias por tu ayuda! @merefield @Canapin

3 Me gusta

Oh, lo siento, ¡lo leí deprisa!

Sí, son globales.

1 me gusta

Anda, vamos :wink: :wink:

Creo que es demasiado complejo, especialmente cuando las subcategorías no se definen como tales en el código HTML… Tengo algo que funciona a medias, pero creo que debería hacerse de la manera correcta, y la API de Discourse JS podría ayudar con esto. Desafortunadamente, no sé mucho sobre ella.

5 Me gusta

Hola :wave:

He creado un componente de tema para lograr esto…

Contiene dos configuraciones para facilitarlo.

nombre de categoría
Primer lugar: slug de categoría
Segundo lugar: título desplegable de categoría

nombre de etiqueta
Primer lugar: slug de categoría
Segundo lugar: título desplegable de etiqueta

Que se verá así.

Añadiendo el título de la etiqueta de subcategoría

Espero que ayude :slightly_smiling_face:


Editar: He corregido el ancho del desplegable para que se alinee correctamente con el ancho del texto personalizado. UX: fix the dropdown width to keep the custom content width · VaperinaDEV/category-breadcrumb-dropdown-title@faca71c · GitHub

8 Me gusta

¡Guau, gran trabajo @Don - me asombras :exploding_head: :star_struck:

2 Me gusta

¡Oíd, oíd!
:man_mage:

Desde las profundidades de los misterios de SCSS y las complejidades de la alquimia del front-end, Sir Don ha surgido. Conquistando funciones, dominando bucles y descifrando listas, le otorgamos con orgullo la ilustre Medalla de Distinción Front-End :sports_medal::person_bowing:.

Y tu componente funciona sin una sola línea de JS…

Happy James Corden GIF by The Late Late Show with James Corden

1 me gusta

Por favor, dime que GPT4bot te ayudó a escribir eso :laughing:

4 Me gusta

100% sí, me temo.

2 Me gusta

Ok, esta solución es impresionante, pero puedes hacer esto @Don:

api
  .modifySelectKit("category-drop")
  .replaceContent((component, content) => {
    let newContent = [];
    content.forEach((item) => {
      if (
        component.category?.slug === "general" &&
        item.id === "all-categories"
      ) {
        item.name = "jojo";
      }

      newContent.push(item);
    });
    return newContent;
  });

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/select-kit/addon/mixins/plugin-api.js enumera todas las acciones que puedes realizar:

  • appendContent
  • prependContent
  • replaceContent
  • onChange

Avísame si tienes problemas para usar esto. Probablemente debería estar mejor documentado, pero estoy aquí si tienes alguna pregunta.

6 Me gusta

@Don @j.jaffeux ¡son absolutamente geniales, muchachos! :fire:

3 Me gusta