Variabili nel file CSS con PHP

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
Maipiusenza
membro Regular
membro Regular
Messaggi: 117
Iscritto il: 06/06/2006, 13:34
Località: Monopoli (BA)
Contatta:

Variabili nel file CSS con PHP

Messaggio da Maipiusenza »

Ciao a tutti,
vorrei creare dinamicamente un file CSS per inserire delle immagini in base alla lingua.
Ho creato un file con estensione .php e l'ho richiamato dall'html della pagina che lo ospita.
Non riesco però a recuperare la session e quindi la variabile $language in questo file esterno.

Mi sapete dire che codice va inserito? Ho provato session_start() ma genera una session diversa, probabilmente c'è un nome di sessione da recuperare.
Ho provato acneh ad includere application_top.php ma mi da vari errori.

In alternativa dovrò inserire le varie immagini come class differenti e poi chiamare quella giusta direttamente dalla pagina HTML, ma vorrei alleggerire il codice.
Grazie!
Nadia
Non rompere le scatole... Aprile!!! :-P
www.maipiusenza.com
maury2ma
membro Master
membro Master
Messaggi: 1669
Iscritto il: 10/02/2006, 14:04
Contatta:

Re: Variabili nel file CSS con PHP

Messaggio da maury2ma »

cosa centra la variabile con la session ?
se richiami il css non dovresti aver problemi di sorta
io uso CSS in PHP da tempo e non ho problemi
perché dici che perde la sessione ?
che cosa stai realizzando e cosa dovrebbe fare ?
dacci piu' informazioni magari qualcuno è in grado d'aiutarti
Maipiusenza
membro Regular
membro Regular
Messaggi: 117
Iscritto il: 06/06/2006, 13:34
Località: Monopoli (BA)
Contatta:

Re: Variabili nel file CSS con PHP

Messaggio da Maipiusenza »

Ciao,
voglio caricare delle immagini diverse a seconda della lingua in uso in quel momento.

Se da una qualsiasi pagina del front view faccio un echo $language; mi restituisce "italiano" oppure "german", ecc.

Vorrei avere questa variabile nel file CSS così da chiamare dinamicamente ad es. l'immagine vetrina_italiano.gif piuttosto che vetrina_german.gif
ma non ci riesco.

Inserendo l'include di application_top nel file ricevo alcuni warning e la variabile mi restituisce sempre "italiano", anche subito dopo aver selezionato una lingua differente.

Immagino che l'informazione della lingua in uso sia registrata nella session, per questo cercavo di richiamarla. Se ci sono altri metodi, a me quel che serve è ottenere il valore corretto di $language.

Grazie!
Nadia
Non rompere le scatole... Aprile!!! :-P
www.maipiusenza.com
maury2ma
membro Master
membro Master
Messaggi: 1669
Iscritto il: 10/02/2006, 14:04
Contatta:

Re: Variabili nel file CSS con PHP

Messaggio da maury2ma »

in teoria no, basta che nel css metti

Codice: Seleziona tutto

vetrina_" . $language . ".gif
ed il gioco è fatto automaticamente si prende l'immagine giusta

applicationtop non devi chiamarlo, lo chiama gia' il codice PHP della pagina se lo chiami piu' volte è normale che ti dia errore
Maipiusenza
membro Regular
membro Regular
Messaggi: 117
Iscritto il: 06/06/2006, 13:34
Località: Monopoli (BA)
Contatta:

Re: Variabili nel file CSS con PHP

Messaggio da Maipiusenza »

maury2ma ha scritto:in teoria no, basta che nel css metti

Codice: Seleziona tutto

vetrina_" . $language . ".gif
ed il gioco è fatto automaticamente si prende l'immagine giusta

applicationtop non devi chiamarlo, lo chiama gia' il codice PHP della pagina se lo chiami piu' volte è normale che ti dia errore
È la prima cosa che ho provato a fare ma non funziona, la variabile è vuota.

la pagina php principale, ad esempio index.php ha già quelle variabili, ma il CSS è chiamato da index.php come link esterno e non come include, quindi se non gli dico come recuperare $language, per lui è una variabile vuota.

Non voglio inserire lo style come include ma come link esterno perché così lo mette in cache e vale per tutto il sito, come include invece appesantirei tutte le pagine.
Dunque senza application_top $language è vuota
con application_top ricevo vari errori e mi restituisce SEMPRE "italiano" come lingua: http://212.66.104.41/www_maipiusenza_co ... eetDin.php

quel css per ora viene chiamato solo da index.php il sito è infatti un work in progress
http://212.66.104.41/www_maipiusenza_com_new/public/

Idee?

Grazie!
Nadia
Non rompere le scatole... Aprile!!! :-P
www.maipiusenza.com
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: Variabili nel file CSS con PHP

Messaggio da marcus »

La cosa dovrebbe essere piuttosto semplice se usi una sorta di style switcher in base alla lingua corrente.

Qualcosa del genere:

Codice: Seleziona tutto

<link type="text/css" media="screen" rel="stylesheet" href="main.css" />

<?php if($language == 'it') { ?>
<link type="text/css" media="screen" rel="alternate stylesheet" title="ita" href="it.css" />
<?php } elseif($language == 'en') { ?>
<link type="text/css" media="screen" rel="alternate stylesheet" title="eng" href="en.css" /> 

....

Le regole CSS del foglio di stile alternativo sono applicate dopo il caricamento del CSS di default e andranno a sostituire tutte le regole che non abbiano applicato ad esse la dichiarazione !important.

Buon lavoro.

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Maipiusenza
membro Regular
membro Regular
Messaggi: 117
Iscritto il: 06/06/2006, 13:34
Località: Monopoli (BA)
Contatta:

Re: Variabili nel file CSS con PHP

Messaggio da Maipiusenza »

marcus ha scritto:La cosa dovrebbe essere piuttosto semplice se usi una sorta di style switcher in base alla lingua corrente.
Si avevo pensato anche a quello, ma è una soluzione che preferirei evitare. Dovendo fare delle modifiche al CSS mi troverei ogni volta a doverle duplicare per quattro file.

Per ora ho risolto così:
Mi sono accorta che se in index.php tolgo la stringa osCsid=xxxxxxxxxxxxxxxxxxxxx si perde l'impostazione della lingua, quindi ho richiamato il CSS così:

Codice: Seleziona tutto

<link rel="stylesheet" type="text/css" href="stylesheetDin.php?osCsid=<?php echo $_GET['osCsid']; ?>">
e funziona. Naturalmente nel CSS ho dovuto mantenere l'include di application_top.php

Non mi sembra una soluzione pulitissima, ma almeno funziona.

Grazie a tutti
Nadia
Non rompere le scatole... Aprile!!! :-P
www.maipiusenza.com
Maipiusenza
membro Regular
membro Regular
Messaggi: 117
Iscritto il: 06/06/2006, 13:34
Località: Monopoli (BA)
Contatta:

Re: Variabili nel file CSS con PHP

Messaggio da Maipiusenza »

Anzi, semplificando ulteriormente.
In index.php:

Codice: Seleziona tutto

<link rel="stylesheet" type="text/css" href="stylesheetDin.php?lin=<?php echo $language; ?>">
e nel CSS (senza più caricare application_top):

Codice: Seleziona tutto

$language = $_GET['lin'];
(per poi usarla dove mi serve).

Ciao
Nadia
Non rompere le scatole... Aprile!!! :-P
www.maipiusenza.com
Rispondi