Keďže je vás tu viac takých, ktorí by chceli svoje počínanie v HTML povýšiť na vyššiu úroveň, napísal som tento výlev. Upozorňujem však, že nebude možné vyskúšať si to doma (bez virtuálneho servra).
PHP je dnes takmer na každom hostingu, takže stačí vám taká jednoduchá kostra, kde je pár includov a fičíte úplne bez problémov. Nech sa páči (v akcii to môžete vidieť na obligátnej adrese
http://kostra.fotopriestor.sk/ ).
Čo budeme potrebovať?
Hosting s PHP, náš recept, zdrojové kokódy a čistú hlavu (pokiaľ možno bez opice).
Recept:
1 ks index.php ako základnú šablónu pre všetky stránky (ja som použil skvelý zdroj
A list apart)
1 ks súbor s kaskádovými štýlmi // nepovinné, ale zase nech to nevyzerá ako ogrcaná bábika
1 ks úvodnej stránky
1 ks chybovej stránky (možnosť aplikovať aj pomocou .htaccess)
3 alebo viac ks podstránok // tam bude ten váš unikátny obsah, ktorý bude obdivovať celý internet
Ako na to:
Index.php - čo je dôležité?
Najdôležitejšou časťou je úvodný PHP kód, ktorý zabezpečuje určenie správnej podstránky. Po ňom nasleduje naša šablóna (túto si môžeš zmeniť ako len chceš) a v nej jedno dôležité miesto, ktoré zabezpečuje korektné vloženie podstránky do našej šablónky.
Povedal som jedno? Ok, myslel som dve, to druhé je navigácia (ľavý stĺpec), všimnite si špeciálny spôsob odkazovania pomocou ?q=
niečo. Toto magické
niečo je totiž ten reťazec, ktorý sa v PHP kontroluje (case "prva" ... atď). Samotný súbor už nemusí byť nazvaný rovnako, jeho názov však treba správne podať funkcii define v príslušnom riadku (ja verím, že vaša inteligencia postačuje na pochopenie aj takéhoto nepedagogického výkladu).
Kód:
<?php
// [BEGIN] TOTO JE DOLEZITE!!!
define('_CESTA_', ''); /* ak chcete, mozte si tu definovat cestu k podstrankam, toto nastavenie predpoklada, ze su v rovnakom priecinku ako index.php */
if (isset($_GET['q'])){
switch ($_GET['q']) {
case "prva": define('_OBSAH_', 'prva.php');
break;
case "druha": define('_OBSAH_', 'druha.php');
break;
case "tretia": define('_OBSAH_', 'tretia.php');
break;
default: define('_OBSAH_', '404.php');
break;
}
} else {
define('_OBSAH_', 'uvod.php');
}
// [END] TOTO JE DOLEZITE!!!
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Svätý grál podľa M. Levina, jednoduchý include podľa P360t-a</title>
<style type="text/css">
@import url("style.css");
</style>
</head>
<body>
<div id="header">Hlavička</div>
<div id="container">
<div id="center" class="column">
<?php
// [BEGIN] TOTO JE DOLEZITE!!!
include(_CESTA_._OBSAH_);
// [END] TOTO JE DOLEZITE!!!
?>
</div>
<div id="left" class="column">
<h2>Ľavý stĺpec</h2>
<ul>
<li><a href="?q=prva">Prvá podstránka</a></li>
<li><a href="?q=druha">Druhá podstránka</a></li>
<li><a href="?q=tretia">Tretia podstránka</a></li>
</ul>
</div>
<div id="right" class="column">
<h2>Pravý stĺpec</h2>
<p>
Keby niekoho zaujímalo, čo je toto za layout, tak vedzte,
že <a href="http://www.alistapart.com/articles/holygrail/">Svätý grál</a>.
</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna
aliquam erat volutpat. Ut wisi enim ad minim veniam, quis
nostrud exerci tation ullamcorper suscipit lobortis nisl
ut aliquip ex ea commodo consequat. Duis autem vel eum
iriure dolor in hendrerit in vulputate velit esse molestie
consequat, vel illum dolore eu feugiat nulla facilisis at
vero eros et accumsan et iusto odio dignissim qui blandit
praesent luptatum zzril delenit augue duis dolore
te feugait nulla.</p>
</div>
</div>
<div id="footer-wrapper">
<div id="footer">
Päta. Tento príklad zbúchal pre užívateľov PC-Fóra
<a href="http://www.pcforum.sk/member-id2490.html">Jeho Najvyššia Dobrotivosť P360t</a>
</div>
</div>
</body>
</html>
Pre úplnosť dodám, že
CSS si môžete pozrieť tu.
Ok, a sme v podstate hotoví. V ostatných stránkach sa totiž budú nachádzať len obligátne HTML značky podľa vašej chuti a nálady (ale pozor, skúsenejší môžu použiť PHP kód aj v podstránkach).
uvod.php
Kód:
<h1>Povedzme, že toto je úvod</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna
aliquam erat volutpat. Ut wisi enim ad minim veniam, quis
nostrud exerci tation ullamcorper suscipit lobortis nisl
ut aliquip ex ea commodo consequat. Duis autem vel eum
iriure dolor in hendrerit in vulputate velit esse molestie
consequat, vel illum dolore eu feugiat nulla facilisis at
vero eros et accumsan et iusto odio dignissim qui blandit
praesent luptatum zzril delenit augue duis dolore
te feugait nulla.</p>
chybová stránka (404.php)
Kód:
<h1>Toto môže byť chybová stránka!</h1>
<p>
Stala sa strašná chyba, musíš skúsiť stlačiť niečo iné!!!!!
</p>
prvá podstránka (prva.php)
Kód:
<h1>Majme toto ako prvú podstránku</h1>
<img src="http://www.inetdisc.com/kalerab/getimg.php?src=forum/n/neo_cjpjuiw1t.jpg"/>
druhá podstránka (druha.php)
Kód:
<h1>Toto nech je druhá podstránka</h1>
<img src="http://www.inetdisc.com/kalerab/getimg.php?src=forum/f/fenixov_2z4jlwy99.jpg"/>
tretia podstránka (tretia.php)
Kód:
<h1>Tretia podstránka: Firefox suckzzzz</h1>
<a href="http://www.opera.com">
<img src="http://www.inetdisc.com/kalerab/getimg.php?src=forum/n/narnia_c7qjtzm31.jpg" />
</a>
Verím, že sa vám s pomocou tohto skromného výlevu podarí zlepšiť svoje stránky. Vrtáci nech dielko zlepšujú podľa ich vlastnej vôle, ciest na dosiahnutie rovnakého výsledku je veľmi veľa a ja som sa rozhodol pre túto lebo som sa rozhodol pre túto. Ak by ste našli nejaké závažné nedostatky, samozrejme reportujte.
Ak si niekto myslí, že tomu stále nerozumie, nech ponížene poprosí o podrobnejší výklad.
Ak si niekto myslí, že pomocou .htaccess sa to dá ešte výrazne vylepšiť (pekné URL, lepšie fungovanie chybovej stránky, zákaz prístupu k podstránkam mimo index.php), tak má pravdu a ak raz budem mať chuť, tak to tam pridám (alebo to pridá niekto za mňa).
Ak si niekto myslí, že by tento príspevok mal byť nejakým spôsobom zviditeľnený, nech napíše vedeniu.
_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.