[RISOLTO][GDRCD 5.4.1] Link da mappa veloce
[RISOLTO][GDRCD 5.4.1] Link da mappa veloce postato il 09/05/2020 21:34:55 nel forum programmazione, open source e hosting e modificato da werekoala il 12/05/2020 23:43:39
Salve a tutti! Avrei bisogno di un piccolo aiutino....
Ho creato una nuova versione della mappa veloce ricavandola dalla pagina del mercato.
Ho suddiviso le varie chat in tipologie selezionabili (esempio: tutti gli uffici governativi, tutti i servizi pubblici, tutti i locali per il tempo libero, etc...).
Selezionando una tipologia, si ha l'elenco di tutte le chat corrispondenti con foto e descrizione.
Quello che mi manca è un link che porti direttamente alla chat in questione.
C'è un'anima pia che mi dice come fare? Ho chiaro il meccanismo ma non so scriverlo...
Grazie!
Pagine → 1
10/05/2020 23:21:24
Vuoi creare un collegamento da una pagina esistente a quella che hai appena creato? Se e' cosi' basta che crei il link nella pagina dove vuoi visualizzare il collegamento se invece vuoi farlo comparire nel menu devi inserire la voce nel file config
11/05/2020 12:09:59
breaker ha scritto: Vuoi creare un collegamento da una pagina esistente a quella che hai appena creato? Se e' cosi' basta che crei il link nella pagina dove vuoi visualizzare il collegamento se invece vuoi farlo comparire nel menu devi inserire la voce nel file config
Praticamente, il funzionamento della pagina è uguale a quello del mercato. Ho alterato la pagina gestione dei luoghi per poter aggiungere un menu a tendina relativo alla "tipologia di luogo" e poi ho creato una campo "tipo" all'interno della tabella "mappa" ed una tabella nuova chiamata "codtipomappaveloce" in modo che ogni volta che inserisco un luogo nuovo, lui me lo possa classificare in base alle tipologie che io ho creato. Praticamente la logica del mercato.
Ora, quando tu entri nella mappa veloce, ti viene presentata la lista delle tipologie di luoghi (ho ragionato che spesso, la gente va in cerca di luoghi di un certo tipo e così, evita di doversi scorrere tutta la mappa e leggersi le descrizioni in cerca di un posto giusto).
Se clicchi su una tipologia, ti si apre una pagina tipo quella del mercato. Ad ogni luogo corrisponde una riga della tabella (come per il mercato) che mostra l'immagine del luogo e la sua descrizione.
Ora, quello che io vorrei creare è un link dinamico che appare in ogni casella che dica tipo "Vai alla chat", ci clicchi e ti porta direttamente alla chat. Non so come fare per crearne uno che peschi il codice della chat e crei il link.
11/05/2020 19:18:41
Questo dipende dal tuo codice, a livello concettuale considera che lavori su un url tipo
main.php?dir=ID
quindi quello che devi fare tu e' un tag <a> e generare dinamicamente il valore ID. Qualcosa tipo
'main.php?dir=' . $row['id'];
dove $row['id'] potresti generarlo con il while visto che generalmente viene utilizzato questo approccio su GDRCD
11/05/2020 22:23:55
breaker ha scritto: Questo dipende dal tuo codice, a livello concettuale considera che lavori su un url tipo
main.php?dir=ID
quindi quello che devi fare tu e' un tag <a> e generare dinamicamente il valore ID. Qualcosa tipo
'main.php?dir=' . $row['id'];
dove $row['id'] potresti generarlo con il while visto che generalmente viene utilizzato questo approccio su GDRCD
Ho provato a creare il link (il while era già presente) ma il risultato è il layout completamente sfasato e addirittura un doppio link che se lo clicco, mi riporta alla mappa principale con questo indirizzo:
main.php?dir=%27%20.%20$row[%27id%27];
12/05/2020 01:37:09
non avendo sotto mano il codice della tua land non posso scriverti un codice che puoi copia-incollare. Devi capire a livello concettuale come procedere ed implementarlo nella tua land. Nel caso volessi un codice pronto dovresti condividere il tuo prima.
12/05/2020 12:54:34 e modificato da werekoala il 12/05/2020 12:55:50
breaker ha scritto: non avendo sotto mano il codice della tua land non posso scriverti un codice che puoi copia-incollare. Devi capire a livello concettuale come procedere ed implementarlo nella tua land. Nel caso volessi un codice pronto dovresti condividere il tuo prima.
Qui c'è la parte relativa alla descrizione dei luoghi con relative immagini:
<?php if ($_REQUEST['op']=='visit') { /*Elenco oggetti*/
//Determinazione pagina (paginazione)
$pagebegin=(int)$_REQUEST['offset']*$PARAMETERS['settings']['records_per_page'];
$pageend=$PARAMETERS['settings']['records_per_page'];
//Lettura record
$query= "SELECT id, nome, descrizione, stato, immagine FROM mappa WHERE tipo = '".gdrcd_filter('get',$_REQUEST['what'])."' ORDER BY nome LIMIT ".$pagebegin.", ".$pageend;
$result=gdrcd_query($query, 'result');
$numresults=gdrcd_query($result, 'num_rows');
/* Se esistono record */
if ($numresults>0){ ?>
<!-- Elenco dei record paginato -->
<div class="elenco_record_mercatonero">
<table>
<!-- Intestazione tabella -->
<tr>
<td class="casella_titolo"><div class="titoli_elenco"></div></td>
<td class="casella_titolo"><div class="titoli_elenco"></div></td>
<td class="casella_titolo"><div class="titoli_elenco"></div></td>
<td class="casella_titolo"><div class="titoli_elenco"></div></td>
</tr>
<!-- Record -->
<tr>
<td class="casella_elemento_img" style="width: 100px;" >
<div class="info_image" style="margin-top: 20px;">
<?php
if (empty($record['immagine'])===FALSE) { $immagine_luogo=$record['immagine']; }
else { $immagine_luogo='standard_luogo.png'; }
?>
<img src="themes/<?php echo gdrcd_filter('out',$PARAMETERS['themes']['current_theme']);?>/imgs/locations/<?php echo $immagine_luogo?>" class="immagine_luogo" alt="<?php echo gdrcd_filter('out',$record['descrizione']); ?>" title="<?php echo gdrcd_filter('out',$record['descrizione']); ?>" >
</div>
</td>
<?php while ($row=gdrcd_query($result, 'fetch')){ ?>
<td class="casella_elemento_mercato_descrizione">
<div class="inventario_riga_descrizione" style="margin-top: -30px; height: 140px; width: 500px; overflow: auto;">
<?php echo $row['descrizione']; ?>
</div>
</td>
</tr>
<?php } //while
gdrcd_query($result, 'free');
?>
</table>
</div>
<?php }//if ?>
<!-- Paginatore elenco -->
<div class="pager">
<?php if($totaleresults>$PARAMETERS['settings']['records_per_page']){
echo gdrcd_filter('out',$MESSAGE['interface']['pager']['pages_name']);
for($i=0;$i<ceil($totaleresults/$PARAMETERS['settings']['records_per_page']);$i++){ ?>
<a href="main.php?page=servizi_mercatonero&op=visit&what=<?php echo gdrcd_filter('out',$_REQUEST['what']); ?>&offset=<?php echo $i; ?>"><?php echo $i+1; ?></a>
<?php } //for
}//if ?>
</div>
<!-- link back -->
<div class="link_back_mercato">
<a id="mercato" href="main.php?page=servizi_mercatonero">
<?php echo gdrcd_filter('out',$MESSAGE['interface']['market']['back']); ?>
</a>
</div>
<?php }//else ?>
</div>
</div><!--Pagina-->
A me interesserebbe che il link si trovasse dopo
<?php echo $row['descrizione']; ?>
Grazie mille per l'aiuto, come tanti, anch'io sono abbastanza niubba con la programmazione e cerco di uscirne viva confrontando i codici delle altre pagine per trovare quello che mi serve, ma la sintassi del PHP, per me, è proprio complicata! So pure che il CSS dentro al codice non è la migliore best practice, ma mi velocizza un po' il lavoro. Conto di riportare tutto nel CSS a lavoro finito.
12/05/2020 20:34:20
echo '<a href="main.php?dir='.$row['id'].'">'.$row['nome'].'</a>';
penso che questo possa fare al caso tuo
12/05/2020 20:39:01 e modificato da werekoala il 12/05/2020 20:53:07
breaker ha scritto:
echo '<a href="main.php?dir='.$row['id'].'">'.$row['nome'].'</a>';
penso che questo possa fare al caso tuo
Grazie!!! Il link funziona alla grande! Ti ringrazio moltissimo!!!
12/05/2020 23:13:32
Mi fa piacere, buona sperimentazione 👍
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!
Sea of Conquest ↗
Imperion ↗
Seconda Era ↗
Tibia ↗
AlterEgo ↗
RAID Shadow Legends ↗
Foundation Galactic Frontier ↗
World of the Sea Battle ↗