Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    13

    PHP & CSS: impostare la y del background di un div tramite php

    Sto preparando un theme per Wordpress, ma mi sono praticamente "impastato" tentando di far visualizzare la data come dico io.

    ..magari bastasse usare il the_time!

    E' che volevo farli comparire un po' più grafici, riprendendo il tema "cubettoso" che ha tutto il resto del template, quindi in realtà giorno e mese sono delle immagini. Per la precisione un'unica immagine per i giorni che contiene tutti i numeri (in "frame" ogni 64px in verticale) e lo stesso vale per i mesi.

    Via css e php ho posizionato correttamente i vari div che contengono le immagini, ma non so proprio come far capire a WP che deve scegliere una y del posizionamento del background del div diverso a seconda del giorno.. [non so mi sono spiegato bene..]

    in pratica dovrei far capire a WP che la y la trova così:

    codice:
    - (giorno_in_numero - 1 ) * 64
    presumo che la formula, tradotta in php dovrebbe essere

    Codice PHP:
    <?php echo - (the_time('l') - 1) * 64 ?>
    oppure sto sbagliando completamente?

    Ma soprattutto.. dove la devo mettere?

    questo è il mio codice dell'index.php:

    Codice PHP:
    <div id="visualizza_data">
      <
    div class="cubo_giorno"> </div>
      <
    div class="cubo_mese"> </div>
    </
    div
    mentre questo è il codice CSS relativo a quei div:

    Codice PHP:
    #visualizza_data {
      
    width64px;
      
    height54px;
        
    floatleft;
        
    clearnone;
    }
    #visualizza_data .cubo_giorno {
      
    width27px;
      
    height64px;
      
    backgroundurl(images/data_giorno.pngno-repeat;
      
    padding0;
      
    margin0 0 0 0px;
        
    floatleft;
    }
    #visualizza_data .cubo_mese {
      
    width27px;
      
    height64px;
      
    backgroundurl(images/data_mese.pngno-repeat;
      
    padding0;
      
    margin0 0 0 0px;
        
    floatleft;


    Sicuramente a voi esperti potrà sembrare una mezza cavolata e sicuramente avrò fatto qualche elementare errore di sintassi ma... io, come al solito, non mi accontento mai di partire (e studiare) dalle basi. Ma voglio sempre (e solo) complicarmi la vita... doh!

    Grazie a tutti per la disponibilità...
    lore - g10r3

  2. #2
    La formula che richiedi in php è
    Codice PHP:
    <php echo (date('D') - 1) * 64?> 
    Ma non puoi inserirla in un file .css, deve essere .php ed eventualmente inviare un content-type text/css.
    Non so come gestisce la cosa wordpress quindi più di questo non saprei

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    13
    mmm.. però la formula dovrebbe darmi un valore negativo.. dove dovrei metterlo il meno per avere una sintassi corretta?

    Credo che wordpress non sia un problema.. cioè, credo che basti inserire il codice corretto via php e WP lo esegue senza troppi problemi..

    In un php normale, come assegneresti il valore di questa formula al background di un div?

  4. #4
    Codice PHP:
    <?php echo - ((date('D') - 1) * 64); ?>
    Così hai il valore negativo

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    13
    ok, grazie. Ora si tratta "solo" di capire dove metterlo..

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    13
    forse ci sono quasi!

    questo codice:


    Codice PHP:
    <div class="cubo_giorno" style="background: url(<? echo get_settings('home')."/blog/wp-content/themes/me-or-not/images/";?>data_giorno.png) no-repeat 0 -<?php $posizione = ((the_time('j') - 1) * 64);  echo $posizione?>px;"> </div>
    mi restituisce questo html:

    Codice PHP:
    <div class="cubo_giorno" style="background: url([url]http://www.meornot.net/blog/wp-content/themes/me-or-not/images/data_giorno.png[/url]) no-repeat 0 -27-64px;"> </div
    Peccato che non sembra eseguire correttamente il calcolo...
    perchè !?

  7. #7
    Codice PHP:
    <?php echo - ((date('j') - 1) * 64); ?>

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    13
    Ti ringrazio per le tue risposte, ma non posso usare la funziona date(), perchè non ho bisogno di sapera da data attuale, ma devo usare the_date() che è la funziona di wordpress che resituisce la data del post considerato, che però restiusce (dovrebbe) i valori nello stesso identico formato della date() di php...

    Il fatto che mi ristiuisca -27-64, mi da' l'idea che consideri quel valore come una stringa di testo e non un numero a cui può applicare i calcoli, ma il bello è che lo fa così anche se l'assegno ad una variabile $ che dovrebbe forzare il formato a numerico, vero?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.