Joomla.it Forum
Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => I Template di Joomla 1.5.x => : BRNS.IT 19 Jan 2011, 14:07:54
-
Sta volta vi chiedo, E' possibile mettere istruzioni in PHP nei file css?
Se sì come?
Scusate la domanda un pò idiota, ma ho già tutto il codice pronto in PHP, e non ho tempo materiale di tradurlo in css (cosa che non so neppure se è fattibile).
Ho fatto diverse prove ma niente.
un esempio di come ho fatto io:
[...]
<?php
require_once('paginaCorrente.php');
$pagina = paginaCorrente();
?>
/** MIDDLE SITE **/
#middle_site {
<?php if($pagina!='http://www.quintacci.altervista.org/')
{
echo 'position:relative;';
echo 'background: #fff url(../images/bg_middle.jpg) 0 0 repeat-x;';
echo 'z-index:1;';
}
}
/* Questa è una parte di css che non c'entra niente, ma l'ho messa per far capire che si tratta di css.*/
/** CONTENT **/
#content {
position:relative;
width:100%;
z-index:1;
}
[...]
Teoricamente lo script in php controlla se la pagina è la home, e se lo è non fa niente, se invece NON lo è, deve scrivere sul css quelle righe là. E' fattibile una cosa del genere?
Spero di essere stato chiaro, se no, basta richiedere spiegazioni più approfondite, sarò lieto di chiarire.
Ps. se è una stupidata la mia non mi linciate, sono i primi lavori che faccio con il css. :D
Grazie delle risposte!
-
ciao operationexodus,
quello che vuoi fare tu è possibile...ma è sbagliata l'impostazione...nel senso che non devi caricare il codice php nel css ma il contrario (+ o -). ti spiego come puoi agire:
hai il tuo bel codice php che controlla se la pagina è la home (questo nell'index.php).bene se hai esito positivo nella if (che penso ci sia) dirai di caricare o un file .css esterno (che si andrà ad aggiungere a quello che carica automaticamente in tutte le pagine) o scriverai le regole css che il sito dovrà caricare.
ti faccio un esempio
questo è quello che dovresti avere nella index.php (i controlli non sono veri, ma nomi inventati per farti capire)
<?
if (urlcorrente == home) {
<style type="text/css">
body {
background: #FFFFCC;
</style>
}
else{
qualche altra cosa
}
?>
questo può essere un modo, altrimetni invece di scrivere il codice all'interno puoi dire di caricare un file .css in particolare....es:
<?
if (urlcorrente == home) {
<link rel="stylesheet" type="text/css" href="stile.css">
}
else{
qualche altra cosa
}
?>
spero sia tutto chiaro. ciau
-
Chiarisssimo! Grazie! :)
Sta sera ci provo, ma so già che funzionerà a dovere. Come dici te, mi mancava l'impostazione giusta. :D
Grazie ancora! =)
-
Provato! E dopo un po' di modifiche varie sono riuscito a farlo funzionare a meraviglia!
Grazie ancora! =)
-
;)
-
ciao!
scusa come hai implementato poi questa riga?
(urlcorrente == home)
-
ciao!
scusa come hai implementato poi questa riga?
(urlcorrente == home)
c'ho dovuto pensare un po' pure io a come implementarla e fare mooolte ricerche su internet.
infine ho scoperto che è possibile farlo così. Nella index.php inserisci questo codice:
<?php
require_once('paginaCorrente.php');
$pagina = paginaCorrente();
?>
ed nella stessa cartella di dove si trova l'index.php crei un file chiamato "paginaCorrente.php" in cui dentro ci metti questo codice:
<?php
function paginaCorrente() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on")
{
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
infine dove devi fare il contronto delle pagine metti un bel if esempio:
<?php
if($pagina == 'http://www.carlozabotto.com/'
{
echo '<link rel="stylesheet" href="';echo $this->baseurl; echo'/templates/'; echo $this->template; echo '/css/mainie.css" type="text/css" />';
}
else
{
echo '<link rel="stylesheet" href="';echo $this->baseurl; echo'/templates/'; echo $this->template; echo '/css/main.css" type="text/css" />';
}
?>
Spero di essere stato utile. E cmq non è l'unico modo per farlo, io ho trovato questo e funziona egregiamente.
-
Grazie mille per l'aiuto, ho fatto tutto quello che mi dici ma nel css non mi funziona.
io vorrei solo escludere questo codice quando sono in homepage, devo racchiuderlo in uno <script> di qualche tipo forse?
.art-content-layout
{
display: table;
padding: 0;
border: none;
width: 1014px;
}