Quindi so già che /my/billing/subscriptions è un modo per collegare l’utente corrente al suo profilo utente, in particolare alla sezione fatturazione fornita da Discourse Subscriptions. Tuttavia, questo non sembra funzionare nel mio codice qui sotto, con l’espressione all’interno dell’istruzione if. In particolare, sto cercando di far apparire un pulsante solo sulla pagina di fatturazione dell’utente. In realtà, sembra che non funzioni per nessun URL della forma /my, sia che si tratti di fatturazione, preferenze, attività o altro. Sto facendo qualcosa di sbagliato? Cosa dovrei usare? (Ricorda che questo non funziona solo all’interno dell’istruzione if. Altrimenti, l’uso di /my ha funzionato e funziona correttamente.)
Non è forse perché gli utenti non si trovano mai negli URL /my/*, dato che si tratta semplicemente di reindirizzamenti intelligenti?
Ad esempio, /my/preferences mi reindirizza a /u/falco/preferences, quindi non mi trovo mai sulla pagina /my/preferences affinché la condizione if nel tuo codice venga attivata.
EDIT: Quindi, usando console.log, sono riuscito a capire che in generale questo approccio funziona bene. Ad esempio, se inserisco semplicemente il codice
const user = api.getCurrentUser()
console.log("/u/" + user.username + "/billing/subscriptions")
in uno script, ottengo come risultato /u/Miles/billing/subscriptions come desiderato.
Tuttavia, il problema si verifica quando provo a inserire questo all’interno di setupComponent(args, component) {}. Una volta fatto questo, console.log non mostra più nulla. Ancora non sono sicuro di cosa stia sbagliando…
Pensavo proprio così, dato che l’uso di api.onPageChange(url) è già presente e funziona correttamente. Tieni presente che sto adattando il codice da qui, quindi sembra davvero vero che ho accesso all’oggetto api nel metodo setupComponent.
Solo per ulteriori chiarimenti, ecco cosa ho ottenuto finora: