Joomla.it Forum
Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => I Template di Joomla 1.5.x => : rh3a 17 Mar 2009, 13:57:11
-
Ciao,
avrei la necessità di poter fare in modo che l'utente del sito possa cambiare a suo piacimento lo sfondo del template.
Cioè io metto a disposizione tipo 5 sfondi e lui tramite dei tasti fissi sul template cambia immagine di sfondo.
Quello che mi chiedo... Esiste già un modulo che faccia questo?
Grazie già da ora ;)
rh3a
EDIT: per chiarire, una cosa del genere ma cambiando l'immagine di sfondo dell'intera pagina: http://www.extrowebsite.com/lab/articoli-javascript/personalizzare-font-sfondo/personalizzare_col_font_e_col_sfondo.htm
-
allora... sono andata un po' avanti...
Ho inserito qeusto codice... ma non capisco cosa sbaglio...
qualche anima buona? ;)
<div align=center>
<script language="JavaScript">
<!--
var backImage = new Array();
backImage[0] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back1.png";
backImage[1] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back2.png";
backImage[2] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back3.png";
backImage[3] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back4.png";
backImage[4] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back5.png";
backImage[5] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back6.png";
function changeBGImage(whichImage){
if (document.body){
document.body.background = backImage[whichImage];
}
}
//-->
</script>
Scegli il tuo sfondo:
<a href="javascript:changeBGImage(0)"> Default </a> |
<a href="javascript:changeBGImage(1)"> Green Grafic </a> |
<a href="javascript:changeBGImage(2)"> Pink Grafic</a> |
<a href="javascript:changeBGImage(3)"> Pink Ball </a> |
<a href="javascript:changeBGImage(4)"> Butterfly Orange </a> |
<a href="javascript:changeBGImage(5)"> Green Xmas </a> |
</div>
ps. il sito è www.cyberlandia.it
-
ciao
allora hai lo script che cerca la tua immagine ma non la trova prova a scrivere in questo modo
tu ora lo hai scritto cosi
backImage[0] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back1.png";
backImage[1] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back2.png";
backImage[2] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back3.png";
backImage[3] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back4.png";
backImage[4] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back5.png";
backImage[5] = "<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/images/back6.png";
provalo a scrive in questo modo
backImage[0] = " /images/back1.png";
backImage[1] = " /images/back2.png";
backImage[2] = " /images/back3.png";
backImage[3] = " /images/back4.png";
backImage[4] = " /images/back5.png";
backImage[5] = " /images/back6.png";
poi le immagini le metti nella cartella images di joomla
-
Nun va... infatti mi pareva strano perchè guardando il sorgente l'indirizzo lo metteva giusto... :\ e pure così fa uguale... :| come se nn prendesse il javascript ? pol'esse'?
Help!! ;D
-
certo che funziona aspetta che posto il sito cosi vedi che funziona.
-
Si ok, aspetto
ma guarda sul mio di sito... non va... :| sicuramente sono io che ho digitato male qualcosa non so :\
ma non è che gli può dare noia il background-image su css? ;D ;D
-
Siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii era lo sfondo impostato sul css che dava noia...!!!! ma vieniii ;D
grazie mille conti1 ;) ciaoooo
-
Siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii era lo sfondo impostato sul css che dava noia...!!!! ma vieniii ;D
grazie mille conti1 ;) ciaoooo
ok stavo postando il sito che ho x le prove x farti vedere ma hai gia risolto io avevo provato in locale e funzionava.
metti risolto nel titolo
-
metti risolto nel titolo
L'ho messo risolto nel titolo ??? ???
forse già stavi scrivendo ;D
cmq l'unica cosa che mi manca è che una volta scelto lo sfondo rimanga fisso... è possibile? ::)
-
si e possibile , solo che bisogna rifare il tutto , x prima cosa bisogna creare tanti css con lo sfondo esempio css1 xlo sfondo 1 css2 x lo fondo 2 ec... poi con lo script non deve cercare l'immagine ma caricare il css dellimagine che seleziona l'utente
-
Ci provo subito ;) assie ^^
-
Scusa ma poi come fa a salvare la scelta? ??? ??? ???
-
xche devi salvare la scielta?
deve essere il script che non ti fa uscire dalla selezione , se io seleziono il colore rosso lo script seleziona il css1 e ti fara usare sempre quel css1 fono a quando non cambi il colore .
questo e quello che deve fare lo script.
-
Allora non ho capito come fare...
In pratica ora se cambio pagina mi ritorna allo sfondo di default...
uhm... un esempio pratico? :D
-
Ho ricambiato il titolo, se qualcuno sa come fare per salvare la scelta dello sfondo da una pagina all'altra.
Ciao
rh3a ;D ;D ;D
-
UP up 8) 8) 8) ;D ;D ;D
-
non sono un gran che esperto di javascript, ma da quello che vedo, mi sebra che non venga salvata da nessuna parte la tua scelta, nel senso che se cambio lo sfondo, il fatto che io abbia impostato quello non viene salvato in nessuna variabile. il che ovviamente implica che quando carico/aggiorno la pagina lo sfondo torna quello di default. mi sa che quello script non va bene per le tue esigenze e con le mie pochissime conoscenze non so come rosolvere. L'idea dovrebbe essere quella di salvare in una variabile globale, la scelta dello sfondo, dopo di che al caricamento della pagina, ci dovrebbe essere uno script che legga la variabile e carichi lo sfondo giusto. In parole povere ci vorrebbe uno script in più oltre a quello.
-
Grazie per la risposta BlackHat, in effetti avevo pensato a un _GET o un _POST in php... ma non so dove mettere le mani ??? ??? si tratta semplicemente di passare questa variabile in php :D
rh3a
-
ciao
ha che punto sei ?
io ne ho fatto uno x provare e funziona mi resta solo da allineare le scritte in alto e poi funziona. ora sto lavorando in locale poi appena riesco ad allineare le scritte in alto posto cosi vedi come il che funziona.
resta solo da allineare le scritte
http://www.plutozio.altervista.org/
ok fatto e funzionante
-
si scusa ho avuto parecchio da fare in questi giorni :)
si è proprio quello che mi serve!!!
non è che potresti scrivermi il codice qui? o sennò do un'occhiata più approfondita domani a lavoro.
grazie
rh3a
-
Sfondo a scelta dell'utente
Codice da mettere nel vostro index.php
mettere questo codice appena dopo itagrimo tag <head>
<head>
<?php mosLoadModules('header',-1); ?>
<ul id="user-bar">
Scegli il tuo sfondo:
<a href="#" onclick="setActiveStyleSheet('template_css'); return false;"> 1</a>|</li>
<a href="#" onclick="setActiveStyleSheet('red'); return false;">2</a>|</li>
<a href="#" onclick="setActiveStyleSheet('black'); return false;">3</a>|</li>
<a href="#" onclick="setActiveStyleSheet('verde'); return false;">4</a>|</li>
<a href="#" onclick="setActiveStyleSheet('Giallo'); return false;">5</a>|</li>
</ul>
</div>
<?php mosShowHead(); ?>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/template_css.css" rel="stylesheet" type="text/css" title="template_css" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/red.css" rel="alternate stylesheet" type="text/css" title="red" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/black.css" rel="alternate stylesheet" type="text/css" title="black" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/verde.css" rel="alternate stylesheet" type="text/css" title="verde" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/Giallo.css" rel="alternate stylesheet" type="text/css" title="Giallo" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/print.css" rel="stylesheet" type="text/css" media="print" />
<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/js_velvet/img_script.js"></script>
<script language="javascript" type="text/javascript">
descrivo un po il codice:
questa strigha sara visibile nel vostro trmplate
Scegli il tuo sfondo: < questo e il nome che apparira nel template
<a href="#" onclick="setActiveStyleSheet('default'); <questo nome nelle parentesi e il nome del css che andra a richiamare> return false;"> 1[/url]|</li> ivece questo numero e sara quello che appare nel template con il suo separatore.
questa parte di codice e quella che richiama il javascript che dovrete modificare e mettere il vostro percorso
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/template_css.css" rel="stylesheet" type="text/css" title="template_css" />
la parte in rosso descrive il percorso del css da prendere, la parte verde e il nome del css che avrete modificato con lo sfondo.
x cui il odice e composto da percorso e nome del css.
questo e il javascript che dovrete mettere nalla cartella del template
io lo chiamato img_script.js se guardate questa stringa di code c'è il nome che ho dato
<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/js_velvet/img_script.js"></script>
<script language="javascript" type="text/javascript">
allora questo e il code da salvare e rinominare come detto se il nome non vi piace rinominare anche la parte del code messo nello <head>
<!--
//STYLE SWITCHER
function setActiveStyleSheet(title) {
var i, a, main;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
a.disabled = true;
if(a.getAttribute("title") == title) a.disabled = false;
}
}
}
function getActiveStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
}
return null;
}
function getPreferredStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("rel").indexOf("alt") == -1
&& a.getAttribute("title")
) return a.getAttribute("title");
}
return null;
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
window.onload = function(e) {
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
}
window.onunload = function(e) {
var title = getActiveStyleSheet();
createCookie("style", title, 365);
}
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
//PRELOAD IMAGES
var myimages=new Array()
function preloadimages(){
for (i=0;i<preloadimages.arguments.length;i++){
myimages[i]=new Image()
myimages[i].src=preloadimages.arguments[i]
}
}
//-->
le immagini di sfondo vanno salvate nella cartella images del template.
mettere le immagini nel css ,in questo dovete capire se avete un solo css oppure altri css che caricano separatamente dal css default .se avete un solo css fate il copia e incolla dello steso css rinominandolo col nome che avrete inserito nel code che lo richiamerà
esempio di questo template a solo un css e lo sfondo si troba nel css nella striga
BODY {
height: 100%;
margin-top: 82px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
background: url(../images/back1.png)repeat-x scroll left top;<qui inserire il nome dell'immagine
fatto il copia e incolla del css e rinominato tornate sempre in quella stinga del css e cambiate il nome del 'immagine
BODY {
height: 100%;
margin-top: 82px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
background: url(../images/back12.png)repeat-x scroll left top;<qui
se avete bisogno di spostare la scritta che appare nel template
dovete mettere in tutti i css che avete creato , queta parte di css .
e ci mettete quello che volete colore posizione lift ringht ec....
ul#user-bar, a:link, a:visited {
}
se e andato tutto ok avrete lo sfondo selezionabile
ps : se non viene caricato lo sfondo oppure ritorna di default il primo, come in questo caso nel template js_velvet dovete cercare nel vostro index.php
il code originale eliminarlo oppure meglio bloccarlo tramite tag, che se avrete bisogno lo avete ancora
questo e quello da bloccare in pratica quello tra i tag <!-- -->
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<!--
<link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/template_css.css" rel="stylesheet" type="text/css" />
-->
<link rel="shortcut icon" href="<?php echo $mosConfig_live_site;?>/images/favicon.ico" />
qui x visionare il tutto http://www.plutozio.altervista.org/
-
assie, mo provo ^^ poi se ho problemi ti chiedo ^^
rh3a
-
c'è un bel template free che fa quella cosa di default,
è di joomlabear però è trasparente e con poche user,
interessa ancora?
-
Azz non riesco a capire cosa è che nn va. non mi funziona :( devo aver copiato qualcosa nel posto sbagliato...
@56francesco, grazie ma ho bisogno del mio template non di un template già fatto ^^ assie lo stesso
-
ciao hai fatto l'ultimo passaggio altrimenti su quel template non funziona
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<!--
<link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/template_css.css" rel="stylesheet" type="text/css" />
-->
<link rel="shortcut icon" href="<?php echo $mosConfig_live_site;?>/images/favicon.ico" />
a aprte l'ultimo passaggio che to detto ma non hai creato i nuovi css non li vedo ti chiama sempre il default
hai un messaggio in privato
-
io li ho creati... 2.css 3.css etc fino al 6.css
e li richiamo Oo almeno credo
<head>
<!-- Inizio scelta sfondo -->
<?php mosLoadModules('header',-1); ?>
<ul id="user-bar">
Scegli il tuo sfondo:
<a href="#" onclick="setActiveStyleSheet('template_css'); return false;"> 1</a>|</li>
<a href="#" onclick="setActiveStyleSheet('2'); return false;">2</a>|</li>
<a href="#" onclick="setActiveStyleSheet('3'); return false;">3</a>|</li>
<a href="#" onclick="setActiveStyleSheet('4'); return false;">4</a>|</li>
<a href="#" onclick="setActiveStyleSheet('5'); return false;">5</a>|</li>
<a href="#" onclick="setActiveStyleSheet('6'); return false;">6</a>|</li>
</ul>
</div>
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/template_css.css" rel="stylesheet" type="text/css" title="template_css" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/2.css" rel="alternate stylesheet" type="text/css" title="2" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/3.css" rel="alternate stylesheet" type="text/css" title="3" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/4.css" rel="alternate stylesheet" type="text/css" title="4" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/5.css" rel="alternate stylesheet" type="text/css" title="5" />
<link href="<?php echo $mosConfig_live_site;?>/templates/js_velvet/css/6.css" rel="alternate stylesheet" type="text/css" title="6" />
<script language="javascript" type="text/javascript" src="<?php echo $mosConfig_live_site;?>/templates/js_velvet/img_script.js"></script>
<script language="javascript" type="text/javascript">
<!-- Fine scelta sfondo -->
<?php mosShowHead(); ?>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<!-- <link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/template_css.css" rel="stylesheet" type="text/css" /> -->
<!--[if IE]>
<link href="<?php echo $mosConfig_live_site;?>/templates/<?php echo $mainframe->getTemplate(); ?>/css/template_css-ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
<link rel="shortcut icon" href="<?php echo $mosConfig_live_site;?>/images/favicon.ico" />
</head>
ti ho postato tutto l'head :D
??? ??? ??? mi sto perdendo lol
-
ho visto che ti sei persa
cose questo
/css/2.css"
dovrebbe essere il css che richiami
ma tu hai creato i css che richiami?
allora tu hai un css gia fatto con questo nometemplate_css
devi crearne tanti altri x tutti gli sfondi che vuoi caricare hai sei sfondi devi creare 6 css
visto che li hai chiamati con i numeri crei 6 ccs
2.css 3.css 4.css ec... copi il primo e lo rinomini logicamente cambi il nome dell'imagine all'interno del css
prova con quest che to fatto io, solo che io ho il css e de quello originale se tu hai modificato qualcosa avrai degli sballamenti ma almeno riesci a capire cosa devi fare
copialo nella cartella css del template
[allegato eliminato da un amministratore perchè più vecchio di 365 giorni]
-
certo che li ho creati... se per esempio vai qua:
http://www.cyberlandia.it/templates/js_velvet/css/2.css
lo vedi...
e lo stesso per gli altri...
Non riesco proprio a capire cosa ho mancato :(
-
;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D
Che scemaaaaaaaaaaaaaaaaaaaaaaaaaa
colpa mia :D
non avevo messo il js -.-
sarò scema?
aahahah poi è da sistemare un po' ma va ;D ;D
assie
rh3a
-
Ok funziona tutto! ;D grazie a tutti ^^
rh3a
-
ciao vedo che stai lavorando ora si vede qualcosa ma dal 3 in su e ancora tutto senza css ho sbaglio
-
complimenti ora si che funziona il tutto .
-
Si, stavo facendo delle prove :D grazie mille... comunque devo ancora capire come mai su explorer 7 non si vede la scelta dello sfondo ;\
grazie ancora ^^
rh3a
-
ciao sbaglio ho hai creato un id?
.scelta
probabile che sia quello , xche hai già un id creato in partenza
<ul id="user-bar">
prova togliere quello creato da te ?
se togliendo il tuo id si vede in ie xche io lo vedo nelle prova fatte usa quello <ul id="user-bar">.
oppure cancella questo <ul id="user-bar"> visto che ne hai uno fatto da te . probabile che ie si incasina xche trova 2 id su una stessa riga . nel caricamento del tuo sito la scelta appare x qualche secondo poi sparisce.
-
ho provato ed ho tolto la lista lasciando solo il div creato da me ma anche così non va.
Ti scrivo il codice css del class scelta:
.scelta {
margin-top: -23px;
color: #ad0b50;
font-size: 15px;
background-image: url(../images/chsfondo.png);
}
.scelta a:link, a:visited {
/* color: #742E21; */
color: #7a0082;
text-decoration: none;
font-weight: bold;
}
.scelta a:hover {
color: #333333; text-decoration: none;
font-weight: bold;
}
che sia qualcosa all'interno del codice che gli da noia? buh
rh3a
-
strano xche mentre carica si vede poi sparisce prova ad aggiungere
display:block;
nel primo css .scelta
ho notato come hai scritto la classe ma non hai lascito id
<div class="scelta">
prova a scriverlo come lo avevo postato aggiungilo
<ul id="scelta">
questo non l'hai tolto vero
<?php mosLoadModules('header',-1); ?>
-
strano xche mentre carica si vede poi sparisce prova ad aggiungere
display:block;
nel primo css .scelta
ho notato come hai scritto la classe ma non hai lascito id
<div class="scelta">
prova a scriverlo come lo avevo postato aggiungilo
<ul id="scelta">
Ok, lo prende anche se metto <div id=scelta> però toglie il settaggio dei caratteri e lo sfondo... :\ (Edit: per sfondo intendo lo sfondo che avevo messo nella riga della scelta)
]
questo non l'hai tolto vero
<?php mosLoadModules('header',-1); ?>
No no c'è sempre
-
ciao
ora funziona anche su ie
ti manca solo il css
scrivilo in questo modo
div#scelta
div#scelta a:link, a:visited
div#scelta a:hover
in questo modo lo dovrebbe prendere
-
Peeeeeeeerfetto! ;D
grazie mille conti1, sei stato molto gentile a starmi dietro ^^ spero di poter ricambiare
rh3a
-
Peeeeeeeerfetto! ;D
grazie mille conti1, sei stato molto gentile a starmi dietro ^^ spero di poter ricambiare
rh3a
Ho parlato troppo presto, a quel modo non si vede di nuovo su explorer del cavolooo!!! :(
-
ciao
accendiamo un cero se riesco afartelo funzonare
togli
margin-top:-23px;
altrimenti in ie vai oltre il monitor
http://www.webconti.altervista.org/
-
yess era per quello grazie mille! :D spero che sia finita qui, sembra di si ^^
assieeeeeeeeeeee
accendi pure il cero :D
rh3a