Back to top

Autore Topic: Utilizzare variabile $this all'interno del template  (Letto 2393 volte)

Offline cardy_web

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Utilizzare variabile $this all'interno del template
« il: 05 Nov 2009, 17:14:06 »
Ciao a tutti. Sono alle prese con la realizzazione di un template "dinamico". In pratica vorrei realizzare una pagina php che mi genera un foglio di stile .css.
Nel file index.php avrò poi un riferimento di questo tipo:
Codice: [Seleziona]
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/style.css.php" type="text/css" />
Il problema lo riscontro nel file style.css.php:
il problema mi viene sollevato su questa riga:
Codice: [Seleziona]
body{
background-color:'.[b]$this->params->get[/b]('colorBg').';

}
poichè quando richiamo la pagina, ricevo il seguente errore:

Fatal error: Using $this when not in object context

Sicuramente è una cavolata, ma non riesco a risolverlo... Qualche uggerimento? Grazie
« Ultima modifica: 05 Nov 2009, 22:45:26 da cardy_web »

Offline cardy_web

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:Utilizzare variabile $this all'interno del template
« Risposta #1 il: 05 Nov 2009, 19:18:52 »
ciao. Praticamente quello che voglio fare e avere un file css "dinamico" o meglio che mi crei un file css al volo andandomi a leggere i parametri del template. Hai presente il template milkyway? li praticamente caricava un css diverso a seconda dei parametri che venivano impostati.
Io invece voglio utilizzare un solo file css, generato dal file php. e per questo che faccio caricare il file style.css.php perchè all'interno del file php dovrò sostituire i valori con i parametri corrispondenti... è x questo che vorrei utilizzare la variabile $this-> all'interno di questo mio secondo file chiamato appunto style.css.php.

Spero di essere stato più chiaro...

Offline cardy_web

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:Utilizzare variabile $this all'interno del template
« Risposta #2 il: 05 Nov 2009, 19:22:57 »
questo è il mio file style.css.php
Codice: [Seleziona]
<?php /*
File css dinamico. I parametri vengono scritti a runtime
*/

echo'
body{
background-color:'
.$this->params->get('colorBg').';

}
</style>'
;
Per cui lo sfondo dovrebbe cambiare a seconda del parametro "colorBg"

Offline conti1

  • Global Moderator
  • Instancabile
  • *****
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:Utilizzare variabile $this all'interno del template
« Risposta #3 il: 05 Nov 2009, 19:27:59 »
da dove lo richiami il colore?


nel template che hai citato cambi

Variazioni colore    
Variazione sfondo    
Larghezza template

ma lo fai  nelle impostazioni .

ripeto ma tu da dove lo richiami il colore di sfondo?
« Ultima modifica: 05 Nov 2009, 19:37:13 da conti1 »
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline cardy_web

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:Utilizzare variabile $this all'interno del template
« Risposta #4 il: 05 Nov 2009, 19:36:21 »
il colore dovrebbe essere contenuto all'interno del file params.ini... il problema è che se il codice scritto sopra lo eseguo in index.php funziona correttamente ( naturalmente avro il css in linea) se invece lo vado a recuperare dal file style.php.css m genera l'errore... probabilmente perchè $this che fa riferimento all'oggetto corrente nn è lo stesso del file index.php.... a me sostanzialmente serve riuscire a caricare i parametri da 1 pagina che non sia index.php... e volevo farlo possiiblemnte utilizzando la funzione $this->get params..

Offline conti1

  • Global Moderator
  • Instancabile
  • *****
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:Utilizzare variabile $this all'interno del template
« Risposta #5 il: 05 Nov 2009, 19:45:32 »
un link al sito con  la modifica che funziona  si puo vedere?

ora son curioso di capire come cambio colore visto che con questa e la 3 volta che ti chiedo ,
na tu in che modo decidi di cambiare colore ,oppure come fai  a mettere il rosso al posto del nero.
e questo che non riesco a capire.
un visitatore che vede il tuo sito che colore vede?
lo definisci tu oppure vuoi dare la possibilità del cambio colore .
vieni in msn

pipo1it@yahoo.it

ora mi hai incoriosito
del come...

Citazione
Per cui lo sfondo dovrebbe cambiare a seconda del parametro "colorBg"

ma colorbg chi lo richiama , un menu  un tasto cosa un link del menu dimmi tu .
« Ultima modifica: 05 Nov 2009, 19:57:10 da conti1 »
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline cardy_web

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:Utilizzare variabile $this all'interno del template
« Risposta #6 il: 05 Nov 2009, 20:10:48 »
al momento è solo in locale...
il colore lo imposta l'amministratore dal back end di amministrazione, nella configurazione del template. colorBg è un parametro definito in templatedetails.xml (necessario per vederlo nel backend) e in params.ini.

P.S. ti ho aggiunto su msn

 



Web Design Bolzano Kreatif