Ich habe daran gearbeitet, meine Fork des Custom Profile Link Component einzurichten, und ich benötigte zwei für verschiedene Website-Links. Derzeit werden jedoch nur Benutzer angezeigt, die für beide Websites einen Benutzernamen festgelegt haben. Wie kann ich sicherstellen, dass beide angezeigt werden, unabhängig davon, ob die andere Kopie funktioniert oder nicht?
Ehrlich gesagt, es ist vielleicht nicht die Datenvorlage, aber das war meine Vermutung, nachdem ich sie eine Weile betrachtet hatte.
Ich verstehe nicht ganz, was Sie tun, aber vielleicht liegt es daran, dass Sie zweimal in dieselbe Handlebars-Vorlage schreiben, anstatt einmal (mit zwei Feldern)?
Das war auch mein Verdacht, aber ich bin mir nicht sicher, wie ich das umgehen kann.
Können Sie nicht eine Vorlage verwenden? Sie sollten zwei Felder darauf einrichten können, es sei denn, ich missverstehe, was Sie versuchen. Hat ein Linkfeld bei Ihnen funktioniert? Wenn ja, ist das großartig ![]()
Eine der Vorlagen ist für die Benutzerkarte, die andere für das Benutzerprofil, daher glaube ich das nicht.
Es funktioniert, wenn eine von zwei Bedingungen erfüllt ist:
- Sie haben zwei Kopien, zwei Felder und der Benutzer, den Sie anzeigen, hat beide Namen ausgefüllt.
- Sie haben eine Kopie, ein Feld und der Benutzer, den Sie anzeigen, hat den Namen ausgefüllt.
Oh ok, ich habe das missverstanden, ich dachte, Sie würden 2 verschiedene Links auf der Benutzerkarte platzieren. Jetzt ergibt es Sinn. Ja, zwei Vorlagen.
[Zitat=“Lilly, Beitrag:7, Thema:278098, Benutzername:Lilly”]
Ich dachte mir, dass du 2 verschiedene Links auf die Benutzerkarte setzt.
[/Zitat]
Das tue ich gewissermaßen, da ich einen pro Kopie der Theme Component verwende, was ich als die Wurzel des Problems vermute. Ich könnte mich aber auch irren.
Ich habe diesen Code-Schnipsel ohne Kontext in den Lola-Bot eingegeben und hier war ihre Antwort:
[quote=“Lola bot”]Der JavaScript-Code, den Sie geteilt haben, scheint in Ordnung zu sein, vorausgesetzt, settings.custom_profile_link_user_field_id und settings.custom_profile_link_debug_mode sind anderswo in Ihrem Code richtig definiert.
Dieser Code registriert zwei Connector-Klassen für die Hooks ‘user-profile-primary’ und ‘user-card-metadata’ in Discourse. Anschließend richtet er für jede eine Komponente ein, die eine customProfileLink-Eigenschaft zur Komponente hinzufügt, wenn die erforderlichen Benutzerfelder vorhanden sind.
Die Handlebars-Vorlagen sind ebenfalls korrekt und rendern bedingt Links, wenn customProfileLink wahr ist.
Ohne den Kontext des restlichen Codes ist es jedoch schwierig, definitiv zu sagen, ob es Probleme gibt. Wenn Sie spezifische Fehler oder unerwartetes Verhalten feststellen, wären diese Details hilfreich bei der Diagnose potenzieller Probleme.
[/quote]
Meinen Sie, dass Sie das Theme geforkt und dann Ihren Fork und das Original aufgenommen haben? Sie müssen alle Verweise auf seine Variablen und die übergebene ID ändern, um die Klasse zu ändern.
Das Original funktionierte auf Discourse nicht mehr richtig, also habe ich eine Abspaltung (Fork) erstellt und sie überarbeitet, bis sie funktionierte. Derzeit habe ich zwei Kopien meiner Abspaltung installiert, die sich anscheinend gegenseitig behindern.
Das ist es, was ich sage. Du musst die Dinge umbenennen, damit sie sich nicht gegenseitig behindern.
Du willst wahrscheinlich ein Theme so gestalten, dass es beides kann, anstatt zwei Kopien zu haben.
Wie genau würde ich das machen? Ein Gedanke, den ich hatte, war, die ID des TC zu den Handlebars hinzuzufügen, aber ich bin mir nicht sicher, wie ich das machen würde.
Würde das nicht die ursprüngliche Anwendungsfall dieser Themenkomponente brechen?
Ich weiß es nicht, aber ich dachte, es wäre sowieso schon kaputt? ![]()
Wenn es einen Link über ein benutzerdefiniertes Feld hinzufügt und Sie möchten, dass es zwei hinzufügt, würden Sie es so schreiben, dass es so konfiguriert werden kann, dass es eine beliebige Anzahl von Links zu benutzerdefinierten Feldern enthält?
Ich habe meine Fork erstellt, um Fehler in der Originalversion zu beheben, daher hoffe ich, dass meine nicht kaputt ist.
Das könnte funktionieren, aber ich bin mir nicht sicher, wie das geht.
Ich habe angefangen, daran zu arbeiten. Mein erstes wirkliches Hindernis hier ist die Verarbeitung mehrerer IDs. Ich glaube, ich würde es mit einer foreach-Schleife machen (wie ich es weiter oben im Code getan habe), aber ich bin mir nicht sicher, wie das in Handlebars geht.
Ich bin mir nicht sicher, wie das in Handlebars geht.
Das klingt, als wärst du auf dem richtigen Weg.
Ich kann mich nie erinnern und google nach „handlebars for loop“ und finde Beispiele.
Nachdem ich mich etwa eine Stunde damit beschäftigt habe, muss ich sagen, dass ich ratlos bin. Dieser Code:
{{#each this.customProfileLink as |links|}}
<a href="{{link.[2]}}{{link.[0]}}" target="_blank">{{link.[1]}}</a>
<p>{{link}}--{{link.content}}</p>
{{/each}}
fühlt sich an, als sollte er funktionieren, aber alles, was ich über #each finden kann, scheint zu variieren, und das hier funktioniert nicht. Hat jemand eine Einsicht dazu?
Und das war doppelt mein Fehler.
Ich habe links für das Element und link im Prozessor verwendet. Und ich habe nicht das Benutzerprofil überprüft, sondern nur die Benutzerkarte (das Benutzerprofil war aus irgendeinem Grund korrekt).