Aprire un link in un modale con ajax (use-ajax)
Buon pomeriggio,
per l'app che ho fatto con drupal ho realizzato pure una finestra modal da aprire sul click dell'utente. Richiamo una form che viene costruita in un file php estendendo la classe FormBase.
Quando clicco sul link viene caricata la pagina, ma la pagina però non si vede come un modal ma come una pagina normale.
Il codice che utilizzo nel blocco è il seguente:
<div class="row d-flex justify-content-center" id="rigaRicercaAvanzata">
<div class="col-xs-6 col-sm-6 col-md-6"><small id="formGroupExampleInputWithHelpDescription"><a class="use-ajax float-right" data-dialog-type="modal" href="/modal/ricercaAvanzataForm">Ricerca avanzata</a> </small></div>
</div>
Questo è una guida che ho seguito per realizzare il popup
https://www.drupal.org/project/examples/issues/2838276
Dove sbaglio che si vede come pagina intera e non come popup?
Grazie mille
Risposte
Anche in questa guida si
Anche in questa guida si seguono questi passaggi..
https://dri.es/how-to-use-drupal-8-off-canvas-dialog-in-your-modules
Mi sembra di capire che non
Mi sembra di capire che non ho la libreria
drupal.dialog.ajax
come la devo aggiungere al progetto?
Nel file yml del tema ho fatto cosi per aggiungere le seguenti librerire
- core/jquery #Just ot be save
- core/drupal.dialog.ajax #Required for dialogs
- core/jquery.form #If you also want to use Ajax for form operations
global-styling:
version: VERSION
js:
js/global.js: {}
js/header.js: {}
js/a076d05399.js: {}
js/owl.carousel.js: {}
dependencies:
- color/drupal.color
- core/drupal.dialog.ajax
- core/jquery.form
- core/jquery-ui
- core/ajax
- core/drupal.ajax
- core/dialog.ajax
- core/drupal
- core/drupalSettings
- core/jquery.once
- core/jquery
dove sbaglio ?
Grazie mille
Prova a richiamarla da twig
Prova a richiamarla da twig
{{ attach_library('core/drupal.dialog.ajax') }}
<div class="row d-flex justify-content-center" id="rigaRicercaAvanzata">
<div class="col-xs-6 col-sm-6 col-md-6"><small id="formGroupExampleInputWithHelpDescription"><a class="use-ajax float-right" data-dialog-type="modal" href="/modal/ricercaAvanzataForm">Ricerca avanzata</a> </small></div>
</div>
Nell'altro post per quanto
Nell'altro post per quanto riguarda l'apertura della modal, mi hai suggerito di controllare se trovavo questo nel sorgente:
core/misc/dialog/dialog.ajax.js
e ci sta nel sorgente della home....
però come ti ho detto ho notato che nel modulo carica la popup, mentre nella index del tema no!
facendo pure un ispezione con
facendo pure un ispezione con il codice, tra la pagina del modulo dove va la popup, e la index del sito dove la popup non va, nella sezione della libreriea del js vedo che entrambe le pagine includo i stessi javascript
E' possibile allora che nella
E' possibile allora che nella home qualcosa vada in conflitto. Prova a controllare non ci siano errori javascript nella console.
Nella home noto questi
Nella home noto questi errori, che non ci sono nelle altre pagine
Come li devo correggere ?
Immaginavo .. purtroppo però
Immaginavo .. purtroppo però come ti dicevo nel precedente post non posso debuggarti io l'applicazione!
Vedo che si lamenta di qualcosa relativo al modulo eu cookie compliance. Prova a vedere se disinstallandolo o cambiando le impostazioni cambia qualcosa.
Ad ogni modo abbiamo trovato la fonte del problema, che è già tanto.
Buon lavoro.
Avendo disinstallato il plug
Avendo disinstallato il plug eu.cookie per la compilazione dei cooki europei,
adesso come messaggi di errore vedo solo questi due
TypeError: drupalSettings.jquery is undefined locale.datepicker.js:24:1
TypeError: drupalSettings.ajaxTrustedUrl is undefined ajax.js:202:9
come li devo eliminare ?
Grazie mille