Ciao @david, c’è qualche possibilità di mostrare la modale da uno script in head_tag.html? Grazie
Tecnicamente potresti farlo con un’enorme quantità di hack, ma non è consigliato.
Invece, estenderesti usando l’API dei plugin e quindi attiveresti la modale da quel codice. Puoi spiegare esattamente cosa stai cercando di fare? Hai già aggirato questo problema?
Ciao Sam, ho una domanda simile.
Per il nostro sito, abbiamo utilizzato solo il head_tag per personalizzarlo. In precedenza, utilizzavamo magnific con jQuery e iframe per popolare una modale con elementi di lista interattivi da un dominio separato, ma abbiamo ritenuto che Discourse avesse finalmente abbandonato ufficialmente magnific/jQuery di recente perché fare clic sugli stessi collegamenti non produce alcun risultato (né nella console).
Quindi sto cercando la migliore opzione successiva. Puoi confermare che l’utilizzo di DModal è l’opzione più appropriata per le mie esigenze? Qualsiasi aiuto sarebbe super utile!
Ecco un po’ di codice che abbiamo utilizzato per allegare i trigger popup di magnific.
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
})
Ciao Brandon,
In generale, consigliamo di evitare l’uso del ‘tag head’ per qualsiasi personalizzazione complessa. Invece, dovresti configurare un tema basato su git.
Una volta che lo avrai, allora sì, DModal è probabilmente ciò di cui hai bisogno. Abbiamo della documentazione a riguardo qui:
Ciao David, grazie per la risposta.
Abbiamo un tema personalizzato basato su git in cui modifichiamo principalmente il nostro javascript in head_tag.html; scusa se non è stato chiaro. Abbiamo utilizzato i tag script per tutti i modelli handlebar, ma vedo che è consigliabile utilizzare file dedicati per determinati modelli di connettore.
Puoi confermare che magnific non è più compatibile con Discourse? Sto cercando di determinare la causa dell’interruzione della funzionalità del nostro popup.
Non sono a conoscenza di alcuna modifica a magnificPopup, ma prevediamo di rimuoverlo presto, quindi consiglio di passare all’API DModal documentata.
Una cosa che è cambiata di recente è il modo in cui carichiamo JQuery. Ora diventa disponibile leggermente più tardi nel processo di avvio. Quindi, window.JQuery potrebbe non essere disponibile fino a dopo l’avvio di Discourse.
Puoi far eseguire il tuo script dopo l’avvio passando da <script> a un ‘plugin initializer’ di Discourse:
<script type="text/discourse-plugin" version="0.8">