CSS Dinamici con PHP

Discussioni e problematiche sul linguaggio PHP

Moderatori: maurizio, markdesign

Regole del forum
Per scrivere del codice all'interno di ogni post, utilizzare il tag: [syntax=il_linguaggio]codice[/syntax] sostituendo "il_linguaggio" con il linguaggio del codice che dovete inserire, ad esempio: html, css, javascript, php, asp, ecc...

CSS Dinamici con PHP

Messaggioda Tizionario » lunedì 18 luglio 2011, 13:00

Ciao a tutti,
sto sviluppando un plugin per WP (a dire la verità è il primo, da qualche parte dovrò pur cominciare :) ) che, come impostazione nel pannello di amministrazione, richiede di inserire la dimensione del widget.
Naturalmente questa dimensione è gestita tramite CSS e qui nasce l'esigenza di renderlo dinamico, di seguito il codice di style.php:
Sintassi: php [ Scarica ] [ Nascondi ]
  1. <?php
  2. header("Content-type: text/css");
  3. $options = get_option(TIZ_ANALOG_CLOCK_ID);
  4. $dimension = $options['dimension'];
  5. ?>
  6. #clockHolder
  7. {
  8.         width:<?php echo $dimension;?>;
  9.         margin: 0 auto;
  10.         position:relative;
  11.         top: 0;
  12.         left:0;
  13. }
  14.  
  15. #sec, #min, #hour
  16. {
  17.         display:block;
  18.         position:absolute;
  19. }
  20.  
  21. .rotatingWrapper
  22. {
  23.         position: absolute;
  24.         width:<?php echo $dimension;?>;
  25.         height:<?php echo $dimension;?>;
  26.         top: 0;
  27.         left: 0;
  28. }
  29.  
  30.  
  31. .warning{color:red;}
  32.  


qui di seguito invece, il foglio di stile statico style.css
Sintassi: css [ Scarica ] [ Nascondi ]
  1. #clockHolder
  2. {
  3.         width:200px;
  4.         margin: 0 auto;
  5.         position:relative;
  6.         top: 0;
  7.         left:0;
  8. }
  9.  
  10. #sec, #min, #hour
  11. {
  12.         display:block;
  13.         position:absolute;
  14. }
  15.  
  16. .rotatingWrapper
  17. {
  18.         position: absolute;
  19.         width: 200px;
  20.         height: 200px;
  21.         top: 0;
  22.         left: 0;
  23. }
  24.  
  25.  
  26. .warning{color:red;}
  27.  


Come potete vedere la differenza non è molta, fatto sta che se uso style.css la visualizzazione è corretta, con style.php invece i layer che compongono il widget vengono visualizzati in sequenza, anziché sovrapposti, allego anche gli screenshots, due immagini sono meglio di duemila parole :)

Dov'è il problema?
Allegati
style_php.jpg
usando style.php
(10.42 KiB) Mai scaricato
style_css.jpg
utilizzando style.css
(14.85 KiB) Mai scaricato
Tizionario

Avatar utente
 
Messaggi: 101
Iscritto il: venerdì 3 dicembre 2010, 10:47
Località: Taranto

Re: CSS Dinamici con PHP

Messaggioda lxn » lunedì 18 luglio 2011, 18:44

A prima vista non mi sembra ci siano errori, la prima cosa che mi viene in mente è che manchino i "px" nella variabile $dimension. Se fai una echo di $dimension il risultato è con i "px"?

Comunque puoi aiutarti guardando direttamente il CSS generato dalla pagina o con gli strumenti per lo sviluppo!
lxn

Avatar utente
 
Messaggi: 71
Iscritto il: martedì 9 febbraio 2010, 9:47
Località: Alessandria

Re: CSS Dinamici con PHP

Messaggioda Tizionario » lunedì 25 luglio 2011, 23:18

Scusa il ritardo della mia risposta, ma mi sono fatto una settimana in ospedale per un piccolo intervento.
La variabile $dimension contiene anche l'unità di misura (px o em) gestita tramite il pannello di amministrazione del widget.

Ho scoperto che a quanto pare il css dinamico non viene generato, il browser (ho fatto i test su Safari 5.1 mac) riconosce uno style.php vuoto, il che mi pare strano; ho provato a richiamarlo sia con wp_enqueue_script() che con wp_enqueue_style, il risultato è lo stesso
Tizionario

Avatar utente
 
Messaggi: 101
Iscritto il: venerdì 3 dicembre 2010, 10:47
Località: Taranto

Re: CSS Dinamici con PHP

Messaggioda lxn » martedì 26 luglio 2011, 11:40

Prova ad includere il CSS così:
Sintassi: php [ Scarica ] [ Nascondi ]
  1. include(TEMPLATEPATH."/style.php");
lxn

Avatar utente
 
Messaggi: 71
Iscritto il: martedì 9 febbraio 2010, 9:47
Località: Alessandria

Re: CSS Dinamici con PHP

Messaggioda Tizionario » martedì 26 luglio 2011, 13:36

non funziona, il file non viene neanche considerato da wp
Tizionario

Avatar utente
 
Messaggi: 101
Iscritto il: venerdì 3 dicembre 2010, 10:47
Località: Taranto

Re: CSS Dinamici con PHP

Messaggioda lxn » martedì 26 luglio 2011, 16:38

Ora che ci penso ti direi che style.css è un file fondamentale nella struttura di WP, potresti provare ad inserire gli stili del tuo plugin in un nuovo CSS e collegare quello!
lxn

Avatar utente
 
Messaggi: 71
Iscritto il: martedì 9 febbraio 2010, 9:47
Località: Alessandria

Re: CSS Dinamici con PHP

Messaggioda Tizionario » venerdì 29 luglio 2011, 15:45

Ma è quello che faccio.....style.php è il foglio di stile del mio plugin, non quello del tema
Tizionario

Avatar utente
 
Messaggi: 101
Iscritto il: venerdì 3 dicembre 2010, 10:47
Località: Taranto

Re: CSS Dinamici con PHP

Messaggioda maurizio » venerdì 29 luglio 2011, 17:52

Tizià, non funziona perché il file style.php non viene elaborato nel runtime di WP, ma messo nell'header del sito e chiamato quindi dal client.
Dunque la funzione get_option non sarà disponibile.
Per renderla disponibile, dovrai includere il file wp-load.php che si trova nella cartella principale di WP.

require_once '../../../ ...... wp-load.php';

In questo modo le funzioni di wp sono disponibili.

Ma questa non é la via migliore. Ho avuto una lunga discussione al riguardo con Antonio di recente.

Leggi questo articolo

http://ottodestruct.com/blog/2010/dont- ... ad-please/

Puoi comunque provare e vedrai che così funziona

Ah, ti anticipo che sto preparando una guida dettagliata sui plugin WP che uscirà a settembre.
:hai:
maurizio

Moderatore

Avatar utente
 
Messaggi: 141
Iscritto il: domenica 2 maggio 2010, 22:38

Re: CSS Dinamici con PHP

Messaggioda maurizio » venerdì 29 luglio 2011, 17:58

Ah, e poi fai

$dimension = get_option('dimension');

... e dai dei nomi un po' più complessi alle opzioni ed usa un prefisso. altrimeni un giorno o l'altro rischi collisioni con altri plugin. E' tutto salvato in wp_options!
maurizio

Moderatore

Avatar utente
 
Messaggi: 141
Iscritto il: domenica 2 maggio 2010, 22:38

Re: CSS Dinamici con PHP

Messaggioda Tizionario » venerdì 29 luglio 2011, 22:59

Si, sui nomi ci devo lavorare un po' :)

Ma quindi l'unico modo per ottenere ciò che voglio è usare una prassi non corretta?
Tizionario

Avatar utente
 
Messaggi: 101
Iscritto il: venerdì 3 dicembre 2010, 10:47
Località: Taranto

Prossimo

Torna a PHP



cron