Scheda Modale [GDRCD 5.2]
16/01/2015 18:45:20
Probabilmente dico un idiozia, ma ti consiglierei di controllare d'aver sostituito correttamente tutti gli apici, io inizialmente credevo d'aver sistemato tutto ma mi ero dimenticata come una sciocca di controllare il codice aggiunto a footer, una volta risistemate anche li ha funzionato perfettamente
17/01/2015 11:10:35
rosenmary visto che tu sei riuscita a sistemare il tutto, saresti disposta da condividere il codice affinché anche altri possano usarlo senza che ogni volta ci ritroviamo ad affrontare questa domanda?
17/01/2015 15:08:40
Copio volentieri e senza alcun problema, ci mancherebbe, ma è semplicemente il copia incolla della guida che hai scritto, quindi gli apici vanno nuovamente sostituiti una volta che viene incollato sul proprio file, visto che il forum ne pubblica uno diverso da quello che bisogna usare.
Quindi fatta questa piccola premessa ecco tutte le parti integrate:
File popup.php da crearsi
<?php
require 'header.inc.php';
gdrcd_controllo_sessione();
echo '<div class="popup">';
if (!empty($_GET['page']))
gdrcd_load_modules(
gdrcd_filter(
'include',
dirname(__FILE__)
. DIRECTORY_SEPARATOR
. 'pages'
. DIRECTORY_SEPARATOR
. $_GET['page']
. '.inc.php'
)
);
else
echo $MESSAGE['interface']['layout_not_found'];
echo '</div>';
require 'footer.inc.php';
?>
/includes/corefunction.js (sostituiti i $)
/** * Libreria javascript di base
* @author Blancks
*/
/** * Funzione selettore rapido per JS
* @author Blancks
*/
function gdrcd_selector(id){
return document.getElementById(id);
}
/** * Gestore del fade in/out
* @author Blancks
*/
function start_fade(id, op)
{
if (op == '+')
{
set_fade(id, 0);
toggle_fade(id, 0, op);
}else
toggle_fade(id, 100, op);
}
function toggle_fade(id, opacity, op)
{
if(opacity <= 100 && opacity >= 0)
{
set_fade(id, opacity);
opacity = (op == '+')? opacity+5 : opacity-5;
setTimeout("toggle_fade('"+id+"',"+opacity+", '"+op+"')", 20);
}
}
function set_fade(id,opacity)
{
var obj = gdrcd_selector(id);
obj.style.filter = "alpha(opacity:"+opacity+")";
obj.style.KHTMLOpacity = opacity/100;
obj.style.MozOpacity = opacity/100;
obj.style.opacity = opacity/100;
}
/includes/popupchoise.js (come sopra)
/** * La funzione permette di aprire la land in popup direttamente dal login
* @author Blancks
*/
function check_login()
{
if (!gdrcd_selector('allow_popup').checked)
{
gdrcd_selector('popup').value = '0';
gdrcd_selector('do_login').target = '_top';
gdrcd_selector('do_login').submit();
}else
{
window.open('', 'MYGDR', 'toolbar=0,menubar=0,directories=0,location=0,scrollbars=yes,status=0,resizable=1');
gdrcd_selector('popup').value = '1';
gdrcd_selector('do_login').target = 'MYGDR';
gdrcd_selector('do_login').submit();
}
}
/includes/tooltip.js (ancora come sopra)
/** * Script per tooltip
* @author Blancks
*/
/** * Gestore del box di descrizione
*/
function show_desc(e, txt)
{
curX = (document.all)? event.clientX + document.body.scrollLeft : e.pageX;
curY = (document.all)? event.clientY + document.body.scrollTop : e.pageY;
set_fade('descriptionLoc', 0);
$('descriptionLoc').style.display='block';
$('descriptionLoc').style.left=(parseInt(curX)-parseInt($('maincontent').offsetLeft)+tooltip_offsetX)+'px';
$('descriptionLoc').style.top=(parseInt(curY)-parseInt($('maincontent').offsetTop)+tooltip_offsetY)+'px';
$('descriptionLoc').innerHTML=txt;
start_fade('descriptionLoc', '+');
}
function hide_desc()
{
$('descriptionLoc').style.display='none';
}
/** * Script per tooltip
* @author Blancks
*/
/** * Gestore del box di descrizione
*/
function show_desc(e, txt)
{
curX = (document.all)? event.clientX + document.body.scrollLeft : e.pageX;
curY = (document.all)? event.clientY + document.body.scrollTop : e.pageY;
set_fade('descriptionLoc', 0);
gdrcd_selector('descriptionLoc').style.display='block';
gdrcd_selector('descriptionLoc').style.left=(parseInt(curX)-parseInt(gdrcd_selector('maincontent').offsetLeft)+tooltip_offsetX)+'px';
gdrcd_selector('descriptionLoc').style.top=(parseInt(curY)-parseInt(gdrcd_selector('maincontent').offsetTop)+tooltip_offsetY)+'px';
gdrcd_selector('descriptionLoc').innerHTML=txt;
start_fade('descriptionLoc', '+');
}
function hide_desc()
{
gdrcd_selector('descriptionLoc').style.display='none';
}
da inserire nel header.inc.php, dentro il tag <head> riga 74 circa
<link rel="stylesheet" href="includes/jquery-ui.min.css" type="text/css" />
<script type="text/javascript" src="includes/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="includes/jquery-ui.min.js"></script>
da inserire in footer.inc.php
<script type="text/javascript">
function modalWindow(name, title, url, width, height) {
// per width ed height imposto dei valori di default così non occorre specificarli in ogni occasione
width = typeof width === 'undefined'? 800 : width;
height = typeof height === 'undefined'? 600 : height;
// verifichiamo se nel body non esiste il sorgente per la dialog
if ($('#dialog-'+name).length == 0) {
// in questo caso lo creiamo:
$('body').append('<div id="dialog-'+name+'" title="'+title+'" style="padding:0;"><iframe src="'+ url +'" frameborder="no" style="position:absolute;width:100%;height:100%;" scrolling="yes"></div>');
} else {
// se il sorgente invece esiste già assegnamo la nuova url all'iframe:
$('#dialog-'+name).attr('title', title);
$('#dialog-'+name+' iframe').attr('src', url);
}
// Ok, adesso siamo pronti per lanciare la modale!
$('#dialog-'+name).dialog({width: width, height: height});
}
</script>
in config.inc.php da sostituire nel parametro url della scheda nel menu
$PARAMETERS['menu']['profile']['url']="javascript:modalWindow('scheda', 'Scheda di ". $_SESSION['login'] ."', 'popup.php?page=scheda&pg=". $_SESSION['login'] ."');"
e questa striscia và a sostituire la riga in main.css, dovrebbe essere la riga 10 in teoria
body{padding:0; margin:0; color:#222; font-family:Verdana,Sans; font-size:11px; background:url("imgs/bg.gif") top left repeat; overflow: auto !important;}
dovrebbe essere tutto quello che c'era aggiungere al codice su cui si stà lavorando, a parte i pacchetti e i consigli finali...
17/01/2015 16:04:02
Ti ringrazio. Appena possibile vedo se funziona.
17/01/2015 16:20:25
Salve a tutti, perdonate la domanda ma per Scheda modale intendete un popup che si apre cliccando per esempio su AVATAR e mostra SOLO la scheda del pg senza i frames laterali o superiori che invece sono normalmente sempre visibili qualunque pagina del sito si apra?
18/01/2015 13:32:37 e modificato da karma94 il 18/01/2015 13:40:28
mi da un problema quando opero sul config.inc
La pagina mi da errore. Aggiungo anche che, quando sostituisco i file escono varie scritte qua e la legate a non so quale documento.
18/01/2015 14:14:41 e modificato da rosenmary il 18/01/2015 14:22:12
dramsstaff
Le finestre modali sono finestre che si aprono all'interno stesso della pagina, se dai un occhiata al manuale linkato nel post di apertura potrai trovarne alcuni esempi visivi
e karma, io ti ho pubblicato i file completi, a parte header, footer, main.css e config.inc ai quali ho cercato di indicarti più o meno la zona dove andrebbero inseriti, se l'errore fosse semplicemente in config.inc in teoria non dovrebbe aprirti il link e basta perchè lo troverebbe sbagliato ergo non avrebbe nulla d'aprirti, bene o male il grosso problema probabilmente rimane ancora negli apici (piccoli ma altamente fastidiosi se se ne sbaglia uno, e si nascondono pure troppo facilmente per i miei gusti u.u) quindi personalmente ti consiglio di prenderti una buona tazza di caffè e controllare tutte le striscie di codice aggiunte cercando questo -->' piccolo maledetto
18/01/2015 22:01:50
Quel maledetto simbolo mi sta facendo sclerare.
18/01/2015 22:40:06
Risolto in parte.
Per quanto riguarda la parte del config.inc
cosa dovrei sostituire e cambiare per fare in modo che si apra la scheda?
18/01/2015 23:17:01
già, è piccolino ma ne dà di fastidi.
Cmq in config.inc è questo il codice
$PARAMETERS['menu']['profile']['url']="javascript:modalWindow('scheda', 'Scheda di ". $_SESSION['login'] ."', 'popup.php?page=scheda&pg=". $_SESSION['login'] ."');"
che devi inserire al posto di
$PARAMETERS['menu']['profile']['url']..(vado a spanna che non ho il codice sotto mano) nella parte dove ci sono le voci varie del menu, devi cambiare solo la striscietta dove dichiari il parametro dell'url della pagina scheda
Discussione seguita da
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Fallen Gods ↗
Storie di Agarthi ↗
Neverness to Everness ↗
Tiles Survive ↗
Project Entropy ↗
AlterEgo ↗
Seconda Era ↗
Imperion ↗