Hallo @david , gibt es eine Möglichkeit, das Modal über ein Skript in head_tag.html anzuzeigen? Vielen Dank
Technisch gesehen könnte man das mit einer Menge Hacks, aber es wird nicht empfohlen.
Stattdessen würden Sie mit der Plugin-API erweitern und dann das Modal aus diesem Code auslösen. Können Sie genau erklären, was Sie versuchen zu tun? Haben Sie dieses Problem bereits umgangen?
Hallo Sam, ich habe eine ähnliche Frage.
Für unsere Website haben wir nur das head_tag verwendet, um sie anzupassen. Zuvor haben wir Magnific mit jQuery und einem Iframe verwendet, um ein Modal mit interaktiven Listenelementen von einer separaten Domain zu befüllen, aber wir waren der Meinung, dass Discourse Magnific/jQuery kürzlich offiziell abgeschafft hat, da das Klicken auf dieselben Links nichts bewirkt (auch nichts in der Konsole).
Ich suche also nach der nächstbesten Option. Können Sie bestätigen, dass die Verwendung von DModal die am besten geeignete Option für meine Bedürfnisse ist? Jede Hilfe wäre super hilfreich!
Hier ist ein Code, den wir zum Anhängen von Magnific-Popup-Triggern verwendet haben.
if (window.jQuery) {
const $document = $(document)
$document.on('click', '.otpc-magnific-trigger', function() {
var $button = $(this)
if ($button.hasClass('initialized')) {
$button.magnificPopup('open')
} else {
$button.magnificPopup({
type: 'inline',
preloader: false
})
$button.magnificPopup('open')
$button.addClass('initialized')
}
return false
})
Hallo Brandon,
Generell empfehlen wir, das „Head-Tag“ für komplexe Anpassungen zu vermeiden. Stattdessen sollten Sie sich mit einem ordnungsgemäßen Git-basierten Theme einrichten.
Sobald Sie das haben, ist DModal wahrscheinlich das, was Sie brauchen. Hier finden Sie einige Dokumentationen dazu:
Hallo David, danke für die Antwort.
Wir haben ein Git-basiertes benutzerdefiniertes Theme, bei dem wir hauptsächlich unser JavaScript in head_tag.html ändern; Entschuldigung, falls das nicht klar war. Wir haben Skript-Tags für alle Handlebar-Vorlagen verwendet, aber ich sehe, dass es empfohlen wird, dedizierte Dateien für bestimmte Connector-Vorlagen zu verwenden.
Können Sie bestätigen, dass Magnific nicht mehr mit Discourse kompatibel ist? Ich versuche, die Ursache für die Störung unserer Popup-Funktionalität zu ermitteln.
Mir ist keine Änderung an magnificPopup bekannt, aber wir planen, es bald zu entfernen. Daher empfehle ich, zur dokumentierten DModal API zu wechseln.
Eine Sache, die sich kürzlich geändert hat, ist die Art und Weise, wie wir JQuery laden. Es wird jetzt etwas später im Boot-Prozess verfügbar. Daher ist window.JQuery möglicherweise erst verfügbar, nachdem Discourse gestartet wurde.
Sie können Ihr Skript nach dem Booten ausführen lassen, indem Sie <script> durch einen Discourse ‘Plugin-Initialisierer’ ersetzen:
<script type="text/discourse-plugin" version="0.8">