ugrás a tartalomhoz

css gond/kérdés php include parancsnál.

Hellhammer · 2011. Ápr. 7. (Cs), 22.53
Üdv!

Egy "ezt vajon meg lehet-e oldani egyszerűen?" jellegű kérdésem lenne; valószínűleg amatőr dolog, és kezdő hibát vétettem:

Csináltam két php fájlt; 01.php és 02.php, az első a 01.css-t a másik a 02.css fájlt használja..
A gondom az, hogy mindkettőt meg szeretném jeleníteni a kezdolap.php részeként; ezt az include paranccsal gondoltam megvalósítani.. a css-ek elérési útjának javításával el is értem, hogy működjön a dolog, de: voltam olyan kezdő, hogy nem gondolkodtam előre, és a fájlok létrehozásánál, tutorial-ba bele-belepillantva írtam meg külön-külön a css-fájlokat, így sikerült szinte azonos fájlokat létrehozni.. pl: mindkettőben szerepel a: link ; body: { font-family ; stb tagok..

Ami azt a hibát generálja, hogy a két php-ra nézve /ami ugye include hatására egyetlen fájlként olvasandó/ a másodikként "meghívott" css-fájl paramétereit használja a megjelenítéshez..

Erre a dologra szeretnék megoldást találni, ha létezik ilyen, vagy nincs más megoldás, mint a css-eseket újraírni, esetleg egyetlen css fájl-t írni, ami tartalmazza mindkettő sajátosságait?

Előre is köszönök bármilyen segítséget!!

[a megvalósított struktúra oka egyébként, hogy az egyik fájl egy eseménynaptár, a másik pedig egy hír-kiíró izé .. egyiket 4, másikat 2 további aloldalon is megjeleníteném, ezért az include-olás..]
 
1

szedd szét

Totti 1986 · 2011. Ápr. 7. (Cs), 23.09
Szerintem szedd szét a vonatkozó részeket.
Régebben én is elkezdtem ilyen különálló modulokból összerakni az oldalt, vagyis minden modul egy külön mappában volt, a hozzá tartozó css-sel, js-sel együtt.

Vagyis szerintem csinálj egy 3. css-t az indexhez, tedd bele az a, body, img stb. általános stílusokat (nyilván mindegyiket csak egyszer kell értelmezni), ami pedig modulonként más, az maradjon a létrehozott css-ekben.
2

Egy css-t hívj meg abban a

bb0072 · 2011. Ápr. 8. (P), 12.58
Egy css-t hívj meg abban a php-ban, ami include-olja a másik kettőt. Egy oldal a kiszolgálás során rengeteg php-t include-olhat be, a css viszont nem a php-file-okhoz tartozik, hanem a kiszolgált html tartalomhoz. Gondold meg, ahány css, annyi http request, azon felül a css behúzásának vannak bizonyos szabályai: például illik a html head szekciójában behúzni, és akkor máris fölösleges, hogy az include-olt php-k húzzák be valahol az oldal közepén.
3

Ajjaj

plip · 2011. Ápr. 8. (P), 20.56
Gyanítom, hogy nagyon rossz úton jársz...
Ha mind a 2 php behúz egy-egy css-t, abból arra következtetek, hogy mindkettőben van <head>...</head> rész, vagyis mindkét php komplett html oldalt generál. Namost ez így nagyon nem jó. A php-k az összes include-dal, mindennel együtt kell generáljanak egy darab html-t, egy darab head-del, és egy darab body-val.
4

köszönöm az eddigi válaszokat..

Hellhammer · 2011. Ápr. 8. (P), 22.30
az már világossá vált, hogy legtisztább az elejéről kezdenem, mintsem, hogy nekikezdjek itt-ott foltozgatni.. nem baj, ebből lehet végül is tanulni..:D

plip: igen, van.. oké, rendben, bocs, nem vagyok túl pro php programozó..
5

Én így oldottam meg egy

hofek · 2011. Ápr. 9. (Szo), 11.19
Én így oldottam meg egy hasonló problémát:
head.php
if($_SESSION['page'] == 'kezdolap'){
$_head_title['kezdolap']=".:: Kezdőlap. ::.";
$_head_leir ['kezdolap']="leírás";
$_head_key  ['kezdolap']="kulcsszavak";
$_head_ido  ['kezdolap']="keresőknek az újra látogatás intervalluma";
$_head_css  ['kezdolap']="<link rel=\"stylesheet\" href=\"css/alap.css\" type=\"text/css\" media=\"all\" />
<link rel=\"stylesheet\" href=\"css/kezdolap.css\" type=\"text/css\" media=\"all\" />";
$_head_js   ['kezdolap']="<script type=\"text/javascript\" src=\"js/kezd.js\"></script>
<script type=\"text/javascript\" src=\"js/check.js\"></script>\n ";
}
$_tomb = $_SESSION['page'];

print"<head>
<title>".$_head_title[$_tomb]."</title>        
<meta name=\"description\" content=\"".$_head_leir[$_tomb]."\" />
<meta name=\"keywords\" content=   \"".$_head_key [$_tomb]."\" />
<meta name=\"revisit-after\" content=\"$_head_ido[$_tomb] days\" /> ......
<style type=\"text/css\"></style>
".$_head_css[$_tomb]."
<script type=\"text/javascript\"></script>
".$_head_js [$_tomb]."
</head>\n";

Minden oldal az indexből működik a "$_SESSION['page']" kapcsolja a tömböket.Minden oldalhoz van egy közös CSS fájl és egy saját ami csak arra vonatkozik.
6

Miért?

plip · 2011. Ápr. 9. (Szo), 15.41
Miért rakod sessionbe a page értékét?
Amúgy érdemesebb egy darab css-t csinálni, amiben minden benne van, ami kell. Sokkal gyorsabb lesz: egy darab fájlletöltés, amit cachelhet a böngésző, nem kell oldalanként újat letölteni.