Ciao a tutti, sto iniziando a sviluppare per Discourse e sto lavorando su un componente del tema.
Link: GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.
Quando lo metto su Theme Creator, le impostazioni non appaiono, anche se ho un settings.yml. Qualche idea?
1 Mi Piace
Moin
20 Settembre 2024, 8:28am
2
Vedi messaggi di errore nel creatore del tema?
Penso che tu debba usare le stesse virgolette all’inizio e alla fine.
Anche questo potrebbe essere un problema. Proverei default: "".
Forse vuoi aggiungere “block” alle scelte. Altrimenti dovrai usare il pulsante di ripristino per sceglierlo di nuovo.
2 Mi Piace
Oops, mi sono appena reso conto che stavo cliccando su ‘Crea nuovo’ invece di importarlo…
Ma ora, quando provo a usare l’URL, dice che about.json non è valido o non esiste, chiedendomi se è 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"
}
C’è qualcosa che non va?
merefield
(Robert)
20 Settembre 2024, 10:48am
4
Manca una virgola dopo l’URL della licenza.
4 Mi Piace
@merefield La versione sarebbe tra \"\"?
1 Mi Piace
merefield
(Robert)
20 Settembre 2024, 10:58am
6
Probabilmente anche quello. Guarda solo gli esempi.
1 Mi Piace
Grazie! Un’ultima cosa, non riesco a visualizzare la variabile.
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/common/header.html
È stato perché non l’ho inizializzata correttamente? Ho provato a seguire la guida…
Dovrei usare allora
import Component from "@glimmer/component";
export default class PracticeComponent extends Component {
get bannerLinks() {
return JSON.parse(settings.banner_links);
}
}
allora?
1 Mi Piace
merefield
(Robert)
20 Settembre 2024, 11:13am
10
Guarda i miliardi di esempi
1 Mi Piace
merefield
(Robert)
20 Settembre 2024, 11:22am
11
È necessario utilizzare un file gjs solo se è necessario elaborare elementi con javascript, altrimenti potrebbe essere sufficiente un file modello hbs. Sperimenta.
1 Mi Piace
Non sono sicuro di essere nella direzione giusta.
Ho creato javascripts/persistent-banner.hbs con questo:
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/javascripts/persistent-banner.hbs
Ma non appare nulla. Ho provato a metterlo in posti diversi, ma non funziona ancora.
Ho provato a guardare esempi, ma molti non sembrano aiutare.
Qualche consiglio?
1 Mi Piace
Moin
21 Settembre 2024, 11:51am
13
In quale plugin outlet vuoi inserire il tuo banner?
Dai un’occhiata a Using Plugin Outlet Connectors from a Theme or Plugin
Potresti usare https://meta.discourse.org/t/add-a-featured-topic-list-to-your-discourse-homepage/132949?u=moin come esempio
Puoi usare il (deprecated) Plugin outlet locations theme component per trovare i nomi e le posizioni degli outlet dei plugin. “above-main-container” ad esempio è quello in alto sopra la lista degli argomenti, ma non sopra la barra laterale.
Guardare il codice di un Theme component che aggiunge qualcosa di simile è anche un ottimo modo per imparare.
2 Mi Piace
merefield
(Robert)
21 Settembre 2024, 11:57am
14
Non è necessario e non si dovrebbero inserire tag script nei file hbs. Dovrebbero essere limitati al contenuto del template.
Non tirare a indovinare, leggi le guide:
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 Mi Piace
Quindi… sono riuscito a farlo funzionare senza usare un file hbs, ma usando invece il tag <script> con handlebars, e ora funziona.
Per ora lo uso così, ma continuerò a provare a usare un file hbs invece.
1 Mi Piace
Lilly
(Lillian Louis)
22 Settembre 2024, 3:24am
16
Ho creato una pull request veloce per te in modo che tu possa vedere il modo corretto di dividere i file. sentiti libero di unire o semplicemente dare un’occhiata al branch .
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 Mi Piace
Grazie mille! Ora funziona!
1 Mi Piace
Lilly
(Lillian Louis)
22 Settembre 2024, 3:15pm
18
Non preoccuparti Nate. Continua a sperimentare, leggere e guardare altri esempi. In men che non si dica sarai molto più bravo di me in queste cose di sviluppo
2 Mi Piace
Grazie per l’incoraggiamento!
1 Mi Piace
system
(system)
Chiuso
22 Ottobre 2024, 10:58pm
20
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.