[GDRCD-5.6.0.2] avatars e nomi colorati
[GDRCD-5.6.0.2] avatars e nomi colorati postato il 05/03/2022 00:50:11 nel forum programmazione, open source e hosting e modificato da iovedotutto il 05/03/2022 00:52:00
Ciao a tutti. Sto sbattendo la testa contro uno spigolo per risolvere questi problemi. Mastico un po' di codicese ma proprio non riesco a trovare una quadra.
Se qualcuno mi desse una manina, salvando il mio cranio, riceverebbe biscotti, affetto e benedizioni.
Problema nr. 1: Immagini di default per avatar e mini-avatar
Mi piacerebbe poter mettere un’immagine che compaia di default sia per l’avatar che per il miniavatar (come per l’immagine del luogo preimpostata da gdrcd), ma purtroppo non essendo bravissima in certe cose non sono riuscita ad ottenere nulla.
Tra l’altro, non so se l’informazione serva, ma il miniavatar ho fatto in modo che compaia non solo in chat e nell’anagrafe, ma anche nei presenti estesi e nel manu di sinistra al posto del link che rimanda alla scheda.
Problema nr. 2: Nomi colorati a seconda del sesso all’interno della chat
Per quanto riguarda la lista presenti laterale ed i presenti estesi non ho avuto problemi lavorando semplicemente sul css (anche perché ho trovato altri post in merito che mi hanno guidata facilmente). Tuttavia, per quanto riguarda i nomi dei pg che compaiono in chat con le azioni, non so come fare. Ho trovato il punto specifico in ref.header.inc.php e ho provato ad aggiungere la seguente classe al link del nome:
class="link_sheet gender_'.$record['sesso'].'"
Purtroppo però non viene riconosciuta.Se riuscite ad aiutarmi vi ringrazio di cuore!
Pagine → 1
05/03/2022 09:15:55 e modificato da kanade tachibana il 05/03/2022 09:17:09
iovedotutto ha scritto: Ciao a tutti.
Ho trovato il punto specifico in ref.header.inc.php e ho provato ad aggiungere la seguente classe al link del nome:
class="link_sheet gender_'.$record['sesso'].'"
Purtroppo però non viene riconosciuta.
$record = ['sesso' => 'maschio'];
echo '<div class="link_sheet gender_' . $record['sesso'] . '"></div>';
Ponendo che il codice sia simile a questo, dovrebbe funzionare. Però solo dal momento che la tua definizione dello stile css esista. Dovresti controllare il valore espresso da $record['sesso']. Esempio..
<style>
.gender_maschio {
color: blue;
}
.gender_femmina {
color: pink;
}
</style>
Per il primo punto invece, in teoria andrebbero rimpiazzare le immagini già presenti come default. (ma non so, dovrei avere gdrcd a portata di mano)
06/03/2022 12:41:00
Allora, intanto grazie millissime per gli aiuti.
Mathramstaff, ma lo sentivo che mi stavo perdendo in un bicchier d’acqua per l’immagine di default x°D grazie, ora tutto a posto.
kanade tachibana invece, per quanto riguarda i codici che mi hai dato per i nomi in chat, temo non vadano bene… non del tutto almeno (così credo eh, ma non sono un asso col php).
Ti mostro prima il codice FUNZIONANTE che ho in presenti.inc.php:
echo '<img class="presenti_ico" src="../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/races/'.$record['icon'].'" alt="'.gdrcd_filter('out', $record['sing_'.$record['sesso']]).'" title="'.gdrcd_filter('out', $record['sing_'.$record['sesso']]).'" />';
Purtroppo non so esattamente in che punto sia impostato il parametro del sesso, in alto c’è la seguente query:
$query = "SELECT personaggio.nome, personaggio.cognome, personaggio.permessi, personaggio.sesso, personaggio.id_razza, razza.sing_m, razza.sing_f, razza.icon, personaggio.disponibile, personaggio.is_invisible FROM personaggio LEFT JOIN razza ON personaggio.id_razza = razza.id_razza WHERE DATE_ADD(personaggio.ora_entrata, INTERVAL 2 MINUTE) > NOW() ORDER BY personaggio.ora_entrata, personaggio.nome";
$result = gdrcd_query($query, 'result');
In ref_header.inc.php invece è diverso:
$add_chat .= '<span class="chat_name"><a href="#" onclick="Javascript: document.getElementById(\'tag\').value=\''.$row['mittente'].'\'; document.getElementById(\'type\')[2].selected = \'1\'; document.getElementById(\'message\').focus();">'.$row['mittente'].'</a>';
Nel codice soprastante andrebbe la classe di cui avevo accennato, che richiama appunto al sesso del pg, ma non la riconosce e non so esattamente come/dove poterla richiamare.
La prima query che trovo scorrendo in alto è la seguente:
$query = gdrcd_query(" SELECT chat.id, chat.imgs, chat.mittente, chat.destinatario, chat.tipo, chat.ora, chat.testo, personaggio.url_img_chat, mappa.ora_prenotazione
FROM chat
INNER JOIN mappa ON mappa.id = chat.stanza
LEFT JOIN personaggio ON personaggio.nome = chat.mittente
WHERE chat.id > ".$last_message." AND stanza = ".$_SESSION['luogo']." AND chat.ora > IFNULL(mappa.ora_prenotazione, '0000-00-00 00:00:00') AND DATE_SUB(NOW(), INTERVAL 30 MINUTE) < ora ORDER BY id ".$typeOrder, 'result');
Purtroppo non intendendomene troppo di php non so dove mettere le mani in questo caso ._.
08/03/2022 09:04:09
up: nessuno sa darmi una mano? ç.ç
29/09/2022 17:49:28
Ciao, nella query della chat va anche messo personaggio.sesso
Dovresti avere una cosa del genere:
$query = gdrcd_query(" SELECT chat.id, chat.imgs, chat.mittente, chat.destinatario, chat.tipo, chat.ora, chat.testo, personaggio.url_img_chat, mappa.ora_prenotazione
FROM chat
INNER JOIN mappa ON mappa.id = chat.stanza
LEFT JOIN personaggio ON personaggio.nome = chat.mittente
WHERE chat.id > ".$last_message." AND stanza = ".$_SESSION['luogo']." AND chat.ora > IFNULL(mappa.ora_prenotazione, '0000-00-00 00:00:00') AND DATE_SUB(NOW(), INTERVAL 30 MINUTE) < ora ORDER BY id ".$typeOrder, 'result');
prova a farla diventare:
$query = gdrcd_query(" SELECT chat.id, chat.imgs, chat.mittente, chat.destinatario, chat.tipo, chat.ora, chat.testo, personaggio.url_img_chat, personaggio.sesso, mappa.ora_prenotazione
FROM chat
INNER JOIN mappa ON mappa.id = chat.stanza
LEFT JOIN personaggio ON personaggio.nome = chat.mittente
WHERE chat.id > ".$last_message." AND stanza = ".$_SESSION['luogo']." AND chat.ora > IFNULL(mappa.ora_prenotazione, '0000-00-00 00:00:00') AND DATE_SUB(NOW(), INTERVAL 30 MINUTE) < ora ORDER BY id ".$typeOrder, 'result');
29/09/2022 18:53:52 e modificato da haruka il 29/09/2022 18:56:51
Ok, allora, intanto lascia personaggio.sesso nella query ;)
Poi, nel case 'P' del ref_header.inc.php ad un certo punto dovresti avere una cosa così:
$add_chat .= '<span class="chat_name"><a href="#" onclick="Javascript: document.getElementById(\'tag\').value=\''.$row['mittente'].'\'; document.getElementById(\'type\')[2].selected = \'1\'; document.getElementById(\'message\').focus();">'.$row['mittente'].'</a>';
aggiungi una classe al link.
Quindi da così:
$add_chat .= '<span class="chat_name"><a href="#" onclick="Javascript: document.getElementById(\'tag\').value=\''.$row['mittente'].'\'; document.getElementById(\'type\')[2].selected = \'1\'; document.getElementById(\'message\').focus();">'.$row['mittente'].'</a>';
a così:
$add_chat .= '<span class="chat_name"><a class="gender_'.$row['sesso'].'" href="#" onclick="Javascript: document.getElementById(\'tag\').value=\''.$row['mittente'].'\'; document.getElementById(\'type\')[2].selected = \'1\'; document.getElementById(\'message\').focus();">'.$row['mittente'].'</a>';
Questo ovviamente dovrai farlo non solo nel case 'P' ma in tutti quelli dove vuoi cambiare il colore del nome.
Poi, nel file css della chat, che dovrebbe essere sotto /themes/ ma nel 5.6 non sono sicura, dopo:
span.chat_name{
font-weight: bolder;
font-size: 12px;
color: rgba(0,0,0,0.8);
}
metti
.gender_m {
color: blue!important;
}
.gender_f {
color: pink!important;
}
Chiaramente, sistema i colori come vuoi ;)
29/09/2022 19:28:43
;) contenta d'esser stata d'aiuto.
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 ↗
Neverness to Everness ↗
CRSED: F.O.A.D. ↗
Foundation Galactic Frontier ↗
The Coven ↗
Fallen Gods ↗
Hero Wars ↗