Hola a todos, estoy empezando a desarrollar cosas para Discourse y estoy trabajando en un componente de tema.
Enlace: GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.
Al ponerlo en Theme Creator, la configuración no aparece, aunque tengo un settings.yml. ¿Alguna idea?
1 me gusta
Moin
20 Septiembre, 2024 08:28
2
¿Ves algún mensaje de error en el creador de temas?
Creo que tienes que usar las mismas comillas al principio y al final.
Esto también podría ser un problema. Intentaría default: "".
Quizás quieras añadir “block” a las opciones. De lo contrario, tendrás que usar el botón de revertir para volver a elegirlo.
2 Me gusta
Vaya, acabo de darme cuenta de que estaba haciendo clic en ‘Crear nuevo’ en lugar de importarlo…
Pero ahora, cuando intento usar la URL, dice que about.json es inválido o no existe, preguntándome si es un tema.
About.json:
{
"name": "Persistent banner",
"about_url": "https://meta.discourse.org/t/discourse-persistent-banner/330575",
"license_url": "https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/LICENSE",
"component": true,
"theme_version": "5.0.0",
"authors": "NateDhaliwal"
}
¿Hay algo mal?
merefield
(Robert)
20 Septiembre, 2024 10:48
4
Falta una coma después de la URL de la licencia.
4 Me gusta
:frustrado:
@merefield ¿La versión estaría entre comillas (\"\")?
1 me gusta
merefield
(Robert)
20 Septiembre, 2024 10:58
6
Probablemente eso también. Solo mira los ejemplos.
1 me gusta
¡Gracias! Una última cosa, no parece que pueda mostrar la variable.
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/common/header.html
¿Fue porque no la inicialicé correctamente? Intenté seguir la guía…
¿Tendría que usar
import Component from "@glimmer/component";
export default class PracticeComponent extends Component {
get bannerLinks() {
return JSON.parse(settings.banner_links);
}
}
entonces?
1 me gusta
merefield
(Robert)
20 Septiembre, 2024 11:13
10
Mira los miles de millones de ejemplos
1 me gusta
merefield
(Robert)
20 Septiembre, 2024 11:22
11
Solo necesitas usar un archivo gjs si necesitas procesar cosas con javascript, de lo contrario, un archivo de plantilla hbs podría ser suficiente. Experimenta.
1 me gusta
No estoy seguro de si voy en la dirección correcta.
Creé javascripts/persistent-banner.hbs con esto:
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/javascripts/persistent-banner.hbs
Pero no aparece nada. Intenté ponerlo en diferentes lugares, pero todavía no funciona.
Intenté mirar el ejemplo, pero muchos no parecen ayudar.
¿Algún consejo?
1 me gusta
Moin
21 Septiembre, 2024 11:51
13
¿En qué conector de plugin quieres poner tu banner?
Echa un vistazo a Using Plugin Outlet Connectors from a Theme or Plugin
Podrías usar https://meta.discourse.org/t/add-a-featured-topic-list-to-your-discourse-homepage/132949?u=moin como ejemplo
Puedes usar el (deprecated) Plugin outlet locations theme component para encontrar los nombres y ubicaciones de los conectores de plugins. “above-main-container”, por ejemplo, es el superior encima de la lista de temas, pero no encima de la barra lateral.
Mirar el código de un Theme component que añade algo similar también es una excelente manera de aprender.
2 Me gusta
merefield
(Robert)
21 Septiembre, 2024 11:57
14
No necesitas ni debes poner etiquetas de script en archivos hbs. Deben limitarse al contenido de la plantilla.
No adivines, lee las guías:
There's a new component API in Octane! For this section, we'll be focusing on the differences between the new style, known as Glimmer components, and classic components, and how to upgrade. "Classic" components refer to older-style components that do...
3 Me gusta
Así que… logré que funcionara sin usar un archivo hbs, sino usando la etiqueta <script> con handlebars, y ahora funciona.
Por ahora lo uso así, pero seguiré intentando usar un archivo hbs en su lugar.
1 me gusta
Lilly
(Lillian Louis)
22 Septiembre, 2024 03:24
16
He creado una solicitud de extracción rápida para que puedas ver la forma correcta de dividir los archivos. Siéntete libre de fusionarla o simplemente échale un vistazo a la rama .
main ← Lillinator:split-into-handlebars-files
opened 03:22AM - 22 Sep 24 UTC
split into the handlebars file for you :)
also removed the header.html file
6 Me gusta
¡Muchas gracias! ¡Ahora funciona!
1 me gusta
Lilly
(Lillian Louis)
22 Septiembre, 2024 15:15
18
No te preocupes, Nate. Sigue experimentando, leyendo y mirando otros ejemplos. En poco tiempo serás mucho mejor que yo en estas cosas de desarrollo
2 Me gusta
system
(system)
Cerrado
22 Octubre, 2024 22:58
20
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.