Hallo, diese Komponente funktioniert einwandfrei, aber wie können die erstellten Links eine aktive Klasse erhalten, wenn es sich um Links auf Discourse (dasselbe) handelt? Meine Standard-Icon-Elemente haben die aktive Klasse, aber nicht die aus der Komponente.
Dies ist ein etwas verwirrendes Thema, da das OP als Wiki aktualisiert wird, die meisten Diskussionen sich jedoch auf eine einige Jahre alte Version der Komponente beziehen.
Das Thema und das OP deuten darauf hin, dass dies zusätzlich zu Textlinks auch grafische Symbole unterstützt. Der Object Settings Editor hat jedoch kein Feld zur Definition eines Symbols. Ich habe versucht, manuell ein SVG-Symbol hinzuzufügen:
"icon": "https://foo.svg",
Der grafische Button wird nicht angezeigt - stattdessen erhalte ich einen Textlink-Button, basierend auf den anderen Parametern des benutzerdefinierten Links. Die alte Diskussion zwischen diesem Beitrag und dem OP deutet darauf hin, dass ich möglicherweise etwas irgendwo hinzufügen muss, um das SVG-Symbol zu aktivieren, aber was und wo?
Hallo,
Beziehen Sie sich auf diese Theme-Komponente?
Diese Custom Header Links (icons) Theme-Komponente hat keine Object-Einstellung.
Möglicherweise möchten Sie diese verwenden, wenn Sie Header-Links mit Symbolunterstützung benötigen. ![]()
Beachten Sie, dass ich diese Komponente gerade zu unseren neuen Objekteinstellungen migriert habe:
Die Einstellungen sollten jetzt viel einfacher zu ändern sein.
Hallo, beim Versuch, die Komponente „Benutzerdefinierte Kopfzeilenlinks“ zu aktualisieren, erhalte ich diesen Fehler: „Ein Fehler ist aufgetreten: Sie haben ungültige Parameter für die Anfrage angegeben: Die Eigenschaft unter JSON Pointer ‘/3/url’ muss eine gültige URL sein.“
Ja, ich sehe, was das verursachen könnte… Das Schema besagt url: true und tatsächlich erlauben wir relative URLs, also ist das nur ein String und wird als ungültige URL betrachtet.
Ich werde es mir ansehen.
Können Sie mir bitte Ihre Komponenteneinstellungen zeigen? Sie können sie auch per PN senden.
Bin jetzt nicht zu Hause, mache es so schnell wie möglich.
Ich habe das Problem direkt mit Patrick in einer PM behoben. Falls jemand auf dasselbe Problem stößt: Das Problem liegt daran, dass die URL-Prüfung mit diesen neuen Einstellungen strenger ist.
Jede URL, die Sie in den Einstellungen eingeben, sollte eine korrekt kodierte URL sein. Die einfachste Lösung ist die Verwendung von encodeURI in der Konsole eines Browsers:
Nehmen wir diese URL als Beispiel: „/some-url?title=Foo bar:baz“
encodeURI("/some-url?title=Foo bar:baz")
Ergibt:
/some-url?title=Foo%20bar:baz
Hallo, obwohl es keine Möglichkeit gibt, die Symbole neu anzuordnen, können Sie dies tun, indem Sie das Skript bearbeiten, indem Sie auf die Schaltfläche „Editor“ in der Komponente klicken und die Codezeilen neu anordnen:
Läuft 3.5.0.beta2-dev (137e8a0fa0). Ich bin 14 Commits zurück.
Wenn ich versuche zu aktualisieren, erhalte ich eine Fehlermeldung:
Ein Fehler ist aufgetreten: Sie haben ungültige Parameter für die Anfrage übermittelt: Die Eigenschaft unter JSON Pointer '/1/title' muss vorhanden sein. Die Eigenschaft unter JSON Pointer '/1/icon' muss vorhanden sein. Die Eigenschaft unter JSON Pointer '/1/url' muss vorhanden sein.
Gibt es eine Möglichkeit, dies zu beheben?
Können Sie uns Ihre Einstellungen mitteilen, indem Sie auf Einstellungen-Editor klicken?
Wenn es privat ist, können Sie mir eine Direktnachricht senden.
Gesendet an dich, danke!
Nur eine Nachverfolgung. Wie vermutet, schlug die Migration aus verschiedenen Gründen für Wingtip fehl. Ich habe ihm die richtigen Einstellungen gegeben. Ich frage mich, unter welchen Bedingungen Migrationen fehlschlagen können. ![]()
EDIT:
Tatsächlich funktionierte es zunächst nicht, also schlug ich ihm Folgendes vor:
Aus irgendeinem Grund wurden auch keine gültigen Einstellungen akzeptiert; ich musste die Einstellungen zurücksetzen, ein Update durchführen und dann mit den richtigen neu konfigurieren. Keine große Sache, es war nicht viel Konfiguration nötig. Nochmals vielen Dank für die Hilfe!
Hallo, ich kann kein benutzerdefiniertes SVG-Symbol rendern und freue mich über Ihre Hilfe bei der Identifizierung, was ich falsch mache.
Ich habe eine SVG-Datei in das Standardthema hochgeladen:
Dann habe ich Folgendes zu dieser Themenkomponente hinzugefügt:


Ich habe icons-sprite, fa-icons-sprite und fab-icons-sprite verwendet, aber das SVG wird nicht gerendert. Der Platzhalter ist vorhanden, man kann darauf klicken und der Link funktioniert, aber das Rechteck enthält kein Symbol.
Der Inspektor zeigt Folgendes an:
<svg class="fa d-icon d-icon-fab-icons-sprite svg-icon svg-string" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="#fab-icons-sprite"></use></svg>
Ich denke, es sollte in ein neues #dev-Thema verschoben werden.
@icaria36
Können Sie den Inhalt von Three_asterisks teilen?
Das Spritesheet folgt einem bestimmten Format.
Dann können Sie my-theme-icon-1, my-theme-icon-2 als Ihre Bezeichner verwenden.
Weitere Informationen finden Sie unter Replace Discourse's default SVG icons with custom icons in a theme.
@Arkshine vielen Dank! Ich bin auf dieser Seite gelandet, aber anscheinend bin ich zu schnell nach unten gescrollt. Nein, ich habe diese Hausaufgabe mit der SVG-Datei noch nicht gemacht. Ich werde es versuchen (zum ersten Mal bearbeite ich den Text in einer SVG-Datei; es gibt immer ein erstes Mal)
und hoffentlich ist das dann alles. ![]()
Ich kann Facebook-, Instagram- und TikTok-Icons mit dieser Komponente laden, aber egal was ich versuche, ich kann weder das ursprüngliche Twitter- noch das neue X-Icon laden.
Irgendwelche Tipps?




