[GDRCD 5.5.1] Presenti Estesi in modale
[GDRCD 5.5.1] Presenti Estesi in modale postato il 24/09/2021 13:27:58 nel forum programmazione, open source e hosting
Come da titolo, vorrei aprire i Presenti Estesi in modale, operazione che mi è già riuscita con diverse altre sezioni.
Non essendo un programmatore ma solo un umile apprendista improvvisato, sospetto di dover operare alla riga 241 di presenti.inc.php:
//numero utenti presenti.
echo '<div class="link_presenti"><a href="/popup.php?page=presenti_estesi" target="_top">';
if($record['numero'] == 1) {
echo '<div class="page_title"><h2>'.$record['numero'].' '.gdrcd_filter('out', $PARAMETERS['names']['users_name']['sing']).' '.gdrcd_filter('out', $MESSAGE['interface']['logged_users']['sing']).'</h2></div>';
} else {
echo '<div class="page_title"><h2 class="presenti_title">'.$record['numero'].' '.gdrcd_filter('out', $PARAMETERS['names']['users_name']['plur']).' '.gdrcd_filter('out', $MESSAGE['interface']['logged_users']['plur']).'</h2></div>';
}
echo '</a></div>';
?>
</div>
Come noterete ho già iniziato vari reindirizzamenti dal main al popup, ma qui manca l'accesso alla finestra modale, e non so come inserirla nel codice facendola funzionare.
Qualcuno più navigato di me può aiutarmi?
Grazie mille in anticipo! ^^
Pagine → 1
26/09/2021 12:02:23
Come ti ha giustamente suggerito @mathramstaff in un altro thread qui sul Forum, l'approccio alla modifica è esattamente lo stesso, solo che al posto di inserire la funzionalità della modale nel file config.inc.php lo andrai ad iniettare direttamente nei sorgenti, laddove ti serve.
Non ti deve spaventare il fatto che si tratta di Javascript piuttosto che HTML, poichè in questo l'attributo href del tag <a> permette di ricevere anche questo linguaggio. L'unica accortezza sta nell'utilizzo degli apici, poichè potrebbero entrare in conflitto non solo con quelli usate dall'href ma anche con quelli di PHP per delimitare le stringhe.
In ogni caso, la funziona JS che ci permette di aprire la modale da un pulsante è questa:
javascript:modalWindow('presenti_estesi', 'Presenti', 'popup.php?page=presenti_estesi');
Semplice, molto simile a quella usata per la Scheda.
Modificando la linea da te interessata, aggiungendo quanto scritto poco sopra, passerà ad essere da così:
echo '<div class="link_presenti"><a href="../main.php?page=presenti_estesi" target="_top">';
a così:
//numero utenti presenti.
echo '<div class="link_presenti"><a href="javascript:modalWindow(\'presenti_estesi\', \'Presenti\', \'popup.php?page=presenti_estesi\');">';
Dovrebbe funzionare.
Kasa.
26/09/2021 21:57:41 e modificato da kasa il 26/09/2021 22:08:18
mathramstaff ha scritto: ...
Ho effettuato diverse verifiche sul funzionamento dell'apertura in una versione fresh di GDRCD#5.5.1 sia con che senza il parent, alla ricerca di possibili differenze, e non ho notato alcun vantaggio o svantaggio nell'utilizzo di uno o dell'altro. In ogni caso, l'apertura di una modale va a toccare dei contenitori che fanno parte di un contesto "superiore" rispetto all'iframe dei presenti, ma non tale da dover necessitare di definire il parent come target della funzione.
Quindi, entrambe funzionano allo stesso modo.
Kasa.
26/09/2021 22:10:42
Io ho utilizzato per i miei test una versione pulita di GDRCD#5.5.1 e non ho riscontrato alcun problema nel suo utilizzo.
Probabilmente è dovuto alle tue modifiche.
Ci può stare, in tal caso.
Kasa.
26/09/2021 23:53:46
Ciao Kasa, grazie mille ti devono fare santo! XD
Forse non lo ricordi, ma mi hai aiutato moltissimo anche in un mio tentativo di diversi anni fa... all'epoca mollai, ma gli anni di prove hanno funzionato e ora sono quasi alla fine della parte 'tecnica'! ^^
Veniamo a noi: la tua soluzione su 5.5.1 ha funzionato anche senza parent!
Però non riesco ad applicarla dal frame presenti alla scheda del PG, che ha molte variabili nel codice per stabilire il login e quindi chi è il possessore della scheda.
Ho provato a fare così, andando ad intuto:
//Nome pg e link alla sua scheda
echo '<div class="link_sheet"><a href="javascript:modalWindow(\'scheda\', \'Scheda di ". $_SESSION[\'login\'] ."\', \'popup.php?page=scheda&pg=". $_SESSION[\'login\']\');">';
}
Rispetto ad altri miei tentativi, questo codice non genera nessun errore, ma... non funziona lo stesso :/
Secondo te dove sto sbagliando?
Grazie mille, spero sia l'ultima volta!! >__<
Come dicevo il mio PbC ha un codice semplice, ma almeno funziona tutto e con queste ultime cose ho praticamente finito!
27/09/2021 00:04:59
Giusto per comprendere il tuo problema: Cosa non funziona?
Non apre correttamente la scheda dell'utente che hai selezionato (ne apre un altra) o non apre proprio la modale?
Kasa.
27/09/2021 00:14:32
kasa ha scritto: Giusto per comprendere il tuo problema: Cosa non funziona?
Non apre correttamente la scheda dell'utente che hai selezionato (ne apre un altra) o non apre proprio la modale?
Kasa.
No no, apre la scheda, ma piuttosto che nella modale la carica in una nuova pagina che però apre sulla stessa finestra, 'sovrascrivendola' a tutta l'interfaccia del sito.
La stessa identica cosa accade anche con il frame dei messaggi, che volevo far aprire in modale.
Da 'messaggi.inc.php' (riga 83, spero sia la riga giusta):
echo '<div class="messaggio_forum"><a href="javascript:modalWindow(\'frame_messaggi\', \'Messaggi\', \'popup.php?page=messages_center&offset=0\');">';
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Tibia ↗
Imperion ↗
RAID Shadow Legends ↗
State of Survival ↗
World of Tanks ↗
World of the Sea Battle ↗