[GDRCD 5.5] Info Location
[GDRCD 5.5] Info Location postato il 01/05/2021 20:02:02 nel forum programmazione, open source e hosting e modificato da gdr-online.com il 03/05/2021 09:00:51
Salve
ho un problema con la visualizzazione delle info chat / mappa.
Di base GDRCD 5.5 mette la descrizione delle chat visibile con l'hover del mouse.
Ho fatto in modo che quando si clicca l'immagine della chat la descrizione sia visibile in una modale a parte, e fin qui nessun problema.
Il problema sorge nella home: non essenedo una chat, non ha una descrizione e quindi la modale resta vuota.
Per risolvere ho creato un parametro descrizionemap per la mappa, ed ho cercato di richiamarlo. Ho provato in diversi modi ma purtroppo conoscendo poco la grammatica php ed il modo in cui sono state utilizzate le funzioni mi sa che sto facendo un casino.
Riporto i miei due tentativi.
<?php
if (empty($record['descrizione'])===FALSE) {
echo gdrcd_filter('out',$record['descrizione']); }
else { echo gdrcd_filter('out',$record['descrizionemap']); }
?>
In questo primo tentativo continua a non apparirmi nulla in home, ma le descrizioni appaiono tranquillamente nelle chat. Deduco quindi che il primo echo venga preso, ma il secondo ignorato.
<?php
if ($_SESSION['mappa']>=0) { echo gdrcd_filter('out',$record['descrizionemap']); }
else { echo gdrcd_filter('out',$record['descrizione']); }
?>
In questo secondo tentativo la descrizione della mappa finsce in tutte le chat, e la tendina dela mappa continua a restare vuota.
Non riesco a trovare un parametro su cui basare il comando.
Sapete aiutarmi?
Grazie mille xx
Pagine → 1
03/05/2021 07:23:54 e modificato da crystaltokyo il 03/05/2021 07:24:12
Credo che il problema del secondo dipenda dal valore che dai alla session mappa.
Piuttosto che mettere >=0 metti > 0
03/05/2021 12:50:07 e modificato da misteryofakasha staff il 03/05/2021 12:52:12
Ciao Samiel
Premetto che non conosco GdrCd, quindi alcune cose potrei non considerarle adeguatamente.
Quello che posso dirti riguardo il primo snippet di codice è che se entra nel ELSE (cosa che ritengo probabile visto che la condizione, andando per deduzione logica, sembra corretta) allora la echo viene eseguita per forza di cose.
Non è che forse il campo "descrizionemap" non lo hai valorizzato correttamente?
La funzione gdrcd_filter, da quel che ho visto nel codice di gdrcd, si limita a fare una pulizia del testo, quindi non dovrebbe rappresentare chissà quale problema. Ma se gli passi un testo vuoto, per forza di cose ti ritorna un output vuoto e dunque non vedi nulla, pur essendo finito nel ELSE...
Per prima cosa, fossi in te, io proverei a mettere degli output di controllo (a meno che tu non abbia un debugger a disposizione) per appurare che il codice faccia quello che ti aspetti e che entri nel else nel caso della mappa.
Prova a fare semplicemente questo:
<?php
if (empty($record['descrizione']) === FALSE){
echo 'descrizione chat';
}
else{
echo 'descrizione mappa';
}
?>
In questo modo vedi, in base a quello che ti stampa, se hai preso la condizione o meno.
Nel caso funzioni allora il problema, secondo me, sta nella valorizzazione del campo "descrizionemap". Altrimenti è da vedere come è valorizzato il campo "descrizione": magari non è né null, né vuoto, né false e al contrario ha qualche valore di default, in qual caso l'empty ti darà sempre FALSE (ma è aggirabile perché anziché usare la empty, vedi qual è il valore e fai il controllo su quello).
Spero di esserti stato utile
D.
03/05/2021 16:45:43
misteryofakasha staff ha scritto: Ciao Samiel
Premetto che non conosco GdrCd, quindi alcune cose potrei non considerarle adeguatamente.
Quello che posso dirti riguardo il primo snippet di codice è che se entra nel ELSE (cosa che ritengo probabile visto che la condizione, andando per deduzione logica, sembra corretta) allora la echo viene eseguita per forza di cose.
Non è che forse il campo "descrizionemap" non lo hai valorizzato correttamente?
La funzione gdrcd_filter, da quel che ho visto nel codice di gdrcd, si limita a fare una pulizia del testo, quindi non dovrebbe rappresentare chissà quale problema. Ma se gli passi un testo vuoto, per forza di cose ti ritorna un output vuoto e dunque non vedi nulla, pur essendo finito nel ELSE...
Per prima cosa, fossi in te, io proverei a mettere degli output di controllo (a meno che tu non abbia un debugger a disposizione) per appurare che il codice faccia quello che ti aspetti e che entri nel else nel caso della mappa.
Prova a fare semplicemente questo:
<?php
if (empty($record['descrizione']) === FALSE){
echo 'descrizione chat';
}
else{
echo 'descrizione mappa';
}
?>
In questo modo vedi, in base a quello che ti stampa, se hai preso la condizione o meno.
Nel caso funzioni allora il problema, secondo me, sta nella valorizzazione del campo "descrizionemap". Altrimenti è da vedere come è valorizzato il campo "descrizione": magari non è né null, né vuoto, né false e al contrario ha qualche valore di default, in qual caso l'empty ti darà sempre FALSE (ma è aggirabile perché anziché usare la empty, vedi qual è il valore e fai il controllo su quello).
Spero di esserti stato utile
D.
Intanto grazie mille
ho provato a stampare quel codice e tutto funziona come dovrebbe, quindi la logica è corretta ed il problema è nella valorizzazione di descrizionemap.. circa.
Dico circa perchè se sostiuisco a descrizione, descrizionemap il programma me lo stampa:
<?php
if (empty($record['descrizione']) === FALSE)
{ echo gdrcd_filter('out',$record['descrizione']); }
else{
echo 'ciao'; }
?>
qui stampa descrizione in chat, e ciao in mappa
<?php
if (empty($record['descrizione']) === FALSE)
{ echo gdrcd_filter('out',$record['descrizionemap']); }
else{
echo 'ciao'; }
?>
qui stampa descizionemap in chat, e ciao in mappa.
Qualsiasi cosa io cerchi di richiamare con l'else che faccia riferimento al db (sia descrizione che descrizionemap) non viene stampato.
Quindi
<?php
if (empty($record['descrizione']) === FALSE)
{ echo gdrcd_filter('out',$record['descrizione']); }
else{
echo gdrcd_filter('out',$record['descrizione']); }
?>
Le due chiamate sono identiche ma una esce e l'altra resta vuota.
Se non riesco a capire a questo punto userò una descrizione generica per tutte le mappe, scrivendola direttamente in codice. Vorrei evitare perchè stavo cercando di tenere il codice quanto più pulito possibile, ma questi errori li trovo un sacco assurdi..
06/05/2021 17:52:21
Arieccomi!
Innanzitutto scusami se ho latitato ma sono stato KO qualche giorno.
Dunque, l'ultimo codice è normale non ti stampi "descrizione" perché entra nell'else proprio quando "descrizione" è vuoto e se lo stampi è giusto tu non veda nulla.
Più che altro mi lascia perplesso questo discorso qui:
<?php
if (empty($record['descrizione']) === FALSE)
{ echo gdrcd_filter('out',$record['descrizionemap']); }
else{
echo 'ciao'; }
?>
qui stampa descizionemap in chat, e ciao in mappa.
Qualsiasi cosa io cerchi di richiamare con l'else che faccia riferimento al db (sia descrizione che descrizionemap) non viene stampato.
Che in questo caso venga stampata la descrizione della mappa mi suona strano: quando si è in una chat, la descrizione della mappa non dovrebbe essere null?
Magari sfugge a me qualcosa non conoscendo bene GdrCd...
Non so, non riusciresti a fare un print_r di $record?
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!
World of Warship ↗
Foundation Galactic Frontier ↗
Project Entropy ↗
CRSED: F.O.A.D. ↗
The Coven ↗