Installare più copie di un tema che usa un data-template per modificare le schede/profili utente causa problemi a entrambi.

Stavo lavorando all’impostazione del mio fork del Custom Profile Link Component, e ne avevo bisogno di due per diversi link del sito. Tuttavia, attualmente, vengono visualizzati solo gli utenti che hanno un nome utente impostato per entrambi i siti. Come posso assicurarmi che entrambi vengano visualizzati indipendentemente dal fatto che l’altra copia funzioni o meno?

Onestamente, potrebbe non essere il data-template, ma è quello che ho ipotizzato potesse essere dopo averci guardato un po’.

Non capisco bene cosa stai facendo, ma forse è perché stai scrivendo nello stesso template handlebars due volte invece di una volta (con due campi)?

1 Mi Piace

Era anche il mio sospetto, ma non sono sicuro di come aggirare il problema.

puoi non usare un modello? dovresti essere in grado di impostare due campi su di esso, a meno che non stia fraintendendo cosa stai cercando di fare. sei riuscito a far funzionare un campo di collegamento? se ci sei riuscito, è fantastico :slight_smile:

2 Mi Piace

Uno dei template è per la scheda utente, l’altro è per il profilo utente, quindi non credo.

Funziona quando si verificano una delle due condizioni:

  1. Hai due copie, due campi e l’utente che stai visualizzando ha entrambi i nomi compilati
  2. Hai una copia, un campo e l’utente che stai visualizzando ha il nome compilato
1 Mi Piace

oh ok, ho capito male, pensavo stessi mettendo 2 link diversi sulla scheda utente. Ora ha senso. sì, due template.

2 Mi Piace

Lo sono, in un certo senso, dato che ne sto usando uno per copia del Componente Tema, che sospetto essere la radice del problema. Potrei sbagliarmi, però.

Ho inserito quel blocco di codice nel bot Lola senza contesto e questa è stata la sua risposta:

Stai dicendo che hai fatto un fork del tema e poi hai incluso il tuo fork e quello originale? Dovrai cambiare tutti i riferimenti alle sue variabili e all’id passato per modificare la classe.

L’originale non funzionava più correttamente su Discourse, quindi ho creato un fork e l’ho rivisto finché non ha funzionato. Al momento, ho installato due copie del mio fork, che sembrano essere in conflitto tra loro.

È quello che sto dicendo. Dovrai rinominare le cose in modo che non entrino in conflitto.

Probabilmente vorrai fare in modo che un tema faccia entrambe le cose invece di avere due copie.

Come potrei farlo esattamente? Un pensiero che ho avuto è stato quello di aggiungere l’ID del TC alle maniglie, ma non sono sicuro di come potrei farlo.

Non romperebbe in qualche modo il caso d’uso originale di questo componente tematico?

Non lo so, ma pensavo fosse già rotto? :wink:

Se aggiunge un link usando un campo personalizzato e vuoi che ne aggiunga due, allora lo scriveresti in modo che possa essere configurato per includere qualsiasi numero di link a campi personalizzati?

Ho creato il mio fork per correggere i bug dell’originale, quindi spero che il mio non sia rotto.

Potrebbe funzionare, ma non sono sicuro di come farlo.

1 Mi Piace

Ho iniziato a lavorarci. Il mio primo vero ostacolo qui è l’elaborazione di ID multipli. Penso che lo farei usando un ciclo foreach (come ho fatto più in alto nel codice), ma non sono sicuro di come farlo in Handlebars.

Sembra che tu sia sulla strada giusta.

Non riesco mai a ricordarlo e cerco su Google “handlebars for loop” e trovo esempi.

Dopo aver armeggiato con questo per circa un’ora, devo dire che sono bloccato. Questo codice:

          {{#each this.customProfileLink as |links|}}
              <a href="{{link.[2]}}{{link.[0]}}" target="_blank">{{link.[1]}}</a>
              <p>{{link}}--{{link.content}}</p>
          {{/each}}

Sembra che dovrebbe funzionare, ma tutto ciò che riesco a trovare su #each sembra variare e questo non funziona. Qualcuno ha qualche intuizione qui?

E quello è stato doppiamente colpa mia. :facepalm: Ho usato links per l’elemento e link nel processore. E non ho controllato il profilo utente, solo la scheda utente (il profilo utente era corretto per qualche motivo)