Fogli di stile con Zend_layout

Ciao ragazzi.

Sto utilizzando Zend_layout ed ho creato una struttura di cartelle di questo tipo:

/layouts

       |----Default

       |----Personal1

       |----Personal2

       .....

Dove ogni sottocartella di "layouts" conterrà il file di definizione di un diverso layout ed i relativi css.

Nel bootstrap imposto il path per il reperimento del layout corrente usando il metodo setLayoutPath().

Per quanto riguarda il render del layout tutto ok, ma ho un problema con il css: finchè visito indirizzi del tipo "www.miosito/controller" tutto ok, ma se visito un indirizzo tipo "www.miosito/controller/azione" il css non viene più reperito correttamente.

Il css l'ho linkato concatenando nell'header del layout la variabile $layout->getLayoutPath() e la stringa "/main.css". Il risultato, visualizzando il sorgente html dopo il rendering è, per fare un esempio, "./layout/default/main.css"

Qualcuno sa dirmi come mai non funziona ?

Come si gestisce un'esigenza del genere senza cablare i vari percorsi dei possibili layout?

Grazie e ciao.

inviato 7 anni fa
dacdam
X 0 X

Per prima cosa dovresti provare a tenenre tutto il codice PHP dell'applicazione al difuori della root del server, fatta eccezione del file index.php, delle immagini, dei javascript e dei CSS.

Nello script del Layout dovresti specificare i percorsi in maniera assoluta, ovvero partendo dalla root del server. Per avere il percorso "di base" dell'applicazione puoi interrogare l'oggetto Request col metodo getBaseUrl()

Inoltre ti segnalo che esiste un View Helper (se non sbaglio si chiama HtmlLink, per gestire i link ai CSS negli script di View

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda