Az utolsó leckében kitaláltuk, hogy az utazássablon milyen blokkokból áll majd, így már indulhat is. Kezdjük két mappa létrehozásával:
képek – ez a mappa tartalmazza a sablon stílusához használt képfájlokat. Mert még nincs tervezési fejlesztésünk, akkor dobjon egyet ebbe a mappába grafikus fájl ellenkező esetben a Joomla nem telepíti a sablont, és hibát fog kiadni, ha a mappa üres.
FIGYELEM: Tartalomgrafika nem helyezhető el a sablon képek mappájában!
css - ez a mappa tartalmazni fogja lépcsőzetes stíluslapfájlok. Kezdésként helyezzünk el benne egy üres template.css fájlt, melynek segítségével különféle tervezési stílusok lesznek hozzárendelve az oldal elemeihez.
Ezután elkezdheti létrehozni a legfontosabb index.php fájlt, amely meghatározza a webhely elemeinek vizuális helyét, és megmondja a Joomla CMS-nek, hogy melyik blokkban helyezze el a különböző összetevőket és modulokat. A fájl a PHP és a HTML kombinációja.
Mindig csak Macromedia Dreamweavert használok kódíráskor. Remek program, Bátran ajánlom neki a kezdőknek, mert ha hibát követ el a kódon való munka közben, a program biztosan kiemeli a jammet.
Az oldalon egy oktatóanyagot talál a Macromedia Dreamweaverről. Ha weboldalakat fog fejleszteni, akkor ezt a programot legalább el kell sajátítani belépő szint a sablonkódok hibamentes szerkesztéséhez.
Az oldal elemeinek (blokkjainak) pozicionálása HTML kóddal történik, konkrétan DIV tageket fogunk használni. De ahogy az oldalunk a Joomla motoron fog működni, i.e. dinamikus lesz, használni is kell majd PHP nyelv. Segítségével meghatározzuk, hogy melyik blokkban helyezkedjenek el a modulok megjelenítésére szolgáló pozíciók, és hogyan hívják ezeket a pozíciókat, összeomlanak-e a blokkok vagy sem. Csatlakoztassunk stíluslapokat külső fájlokból, tartalomnyelvet, állítsuk be, hogyan változzon a webhely mérete stb.
Fájl fejléc
A fájl fejléce több részből áll. A PHP fejléckódjának első része annak biztosítása, hogy biztonsági okokból ne érje el közvetlenül a fájlt.
<
?php
definiált ("_JEXEC" ) vagy die ;
JHtml::_("behavior.framework" , true ) ;
$app = JFactory::getApplication() ;
?>
<
?php echo
"<
?"
; ?> xml version="1.0" kódolás=" <
?php echo
$ez-> _charset ?> "?>
A DOCTYPE egy nagyon fontos paraméter, amely alapján a böngésző eldönti, hogyan jelenítse meg ezt az oldalt, és hogyan értelmezze a CSS-t.
< ! DOCTYPE html PUBLIC "- / / W3C/ / DTD XHTML 1.0 Strict/ / EN""http: // www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
A következő kódrészlet lekéri a telepített nyelvet a globális konfigurációból.
< html xmlns= "http://www.w3.org/1999/xhtml" xml:lang=" < ?php echo $ez->nyelv; ?>" lang=" < ?php echo $ez->nyelv; ?>" dir=" < ?php echo $ez-> irány; ?>" >
Az alábbi kódrészlet tartalmazza További információ a globális konfigurációban beállított fejléchez. Ezt az információt megtekintheti, ha megnézi forrás bármely weboldalt. Különösen ezek azok a metacímkék, amelyekről már tud.
<
head>
<
jdoc:include
type=
"head"
/
>
A fejléc következő sorai a főre mutató hivatkozásokat tartalmaznak CSS stílusok Joomla.
<
link
rel=
"stylesheet"
href=
"<
?php echo
$ez-> baseurl ?> /templates/system/css/system.css" type="text /css" /
>
<
link
rel=
"stylesheet"
href=
"<
?php echo
$ez-> baseurl ?> /templates/system/css/general.css" type="text /css" /
>
A sablontervezési stílusok használatához hivatkozást készítünk a template.css lépcsőzetes stíluslapokat tartalmazó fájlra, amely a CSS mappában található. Nem számít, hogy ez a fájl még üres, a lényeg a csatlakoztatás, a tervezéssel később foglalkozunk, amikor telepítjük a sablont Joomlára. Így könnyebben látható lesz az eredmény.
< link rel= "stylesheet" href= "< ?php echo $ez-> baseurl ?> /sablonok/< ?php echo $ez-> sablon ?> / css/ template.css" type="text /css" / >
A következő kódrészlet lehetővé teszi a bal vagy jobb oldali oszlop összecsukását, ha nincsenek modulok a „bal” és „jobb” pozícióban. Ha mindkét oszlop össze van csukva, akkor a tartalom az oldal szélességének 100%-át elfoglalja. Ha csak egy oszlop szerepel, akkor a tartalom 80%-ot foglal el. Két oszloppal együtt a tartalom az oldal szélességének 60%-át teszi ki.
<
?php
ha ($ ez-> countModules("bal és jobb" ) == 0) $contentwidth = "100" ;
ha ($ ez-> countModules("bal vagy jobb" ) == 1) $contentwidth = "80" ;
ha ($ ez-> countModules("bal és jobb" ) == 1) $contentwidth = "60" ;
?>
Fejléc bezárása
<
/
head>
<
body>
Az „oldal” blokk csak az oldal oldalának dizájnját tartalmazza, szélessége 950px.
< div id= "page" >
A "felső" blokk az oldal legtetején található, és két blokkot tartalmaz: "logo" és "user1".
< div id= "top" >
A „logó” bokeh-ben elhelyezzük a logó grafikus fájlt, ez lesz beírva a stíluslapokba. De az index.php fájlba írjuk az oldal nevének automatikus kimenetét, és a név a H1 tag-be kerül, ami nagyon fontos a keresőoptimalizálás szempontjából.
<
div id=
"logo"
>
<
h1>
<
?php echo
$app
-
>getCfg("webhelynév") ; ?><
/
h1>
<
/
div>
Határozzuk meg a "felhasználó1" pozíciót az azonos nevű blokkban a webhelykereső modul megjelenítéséhez.
<
div id=
"user1"
>
<
jdoc:include
type=
"modules"
name=
"user1"
style=
"xhtml"
/
>
<
/
div>
<
/
div>
<
!
-
-
конец блока top -
-
>
A vízszintes menümodul kimenete a "user2" blokkban a "user2" pozícióban. A blokk összeomlik, ha nincs modul azon a helyen.
<
?php if
($ez-> countModules("felhasználó2")) : ?>
<
div id=
"user2 "
>
<
jdoc:include
type=
"modules"
name=
"user2"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
Ezután jön a webhely fejléc blokkja "fejléc". Ebben meghatározzuk a modulok kimenetének "fejléc" pozícióját. A blokk összeomlik, ha nincs modul azon a helyen. Szándékosan bővítettem ennek a blokknak a lehetőségeit, hogy ne csak a fejlécképet, hanem a képforgatókat is el tudjam helyezni benne.
<
?php if
($ez-> countModules(" fejléc")
)
: ?>
<
div id=
"fejléc">
<
jdoc:include
type=
"modules"
name=
"fejléc" style="xhtml" />
<
/
div>
<
?php endif
; ?>
A "user3" blokkban határozza meg a "user3" pozíciót a modulok megjelenítéséhez.
A blokk összeomlik, ha ezen a "felhasználó3" helyen nem jelenik meg modul.
<
?php if
($ez-> countModules("felhasználó3")) : ?>
<
div id=
"user3"
>
<
jdoc:include
type=
"modules"
name=
"user3"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
Megnyílik a bal oldali oszlop blokkja, amely összeomlik, ha nincs modul a „bal” pozícióban.
<
?php if
($ez-> countModules("bal" ) ) : ?>
<
div id=
"left"
>
<
jdoc:include
type=
"modules"
name=
"left"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
Megnyílik a legfontosabb tartalomblokk, amely az oldal szélességének 100%-át, 80%-át és 60%-át is elfoglalhatja a benne foglalt oszlopok számától függően.
< div id= "content< ?php echo $contentwidth ; ?> " >
Üzenetek megjelenítése komponensekben
< jdoc:include type= "message" / >
Tartalom kimenet.
<
jdoc:include
type=
"component"
style=
"xhtml"
/
>
<
/
div>
<
!
-
-
конец блока контента-
-
>
Megnyílik a jobb oldali oszlop blokkja, amely összecsukódik, ha nincs modul „jobb” pozícióban.
<
?php if
($ez-> countModules("jobbra") ) : ?>
<
div id=
"rigth"
>
<
jdoc:include
type=
"modules"
name=
"right"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
A „lábléc” blokk kimenete, amely a „HTML kód” modul szerzői jogi információkkal való megjelenítésére szolgál. Ide is elhelyezheti az alját vízszintes menü vagy tartalombemutató modul. A blokk összeomlik, ha egynél több modul nem jelenik meg ebben a "lábléc" pozícióban
<
?php if
($ez-> countModules("lábléc")) : ?>
<
div id=
"footer"
>
<
jdoc:include
type=
"modules"
name=
"footer"
style=
"xhtml"
/
>
<
/
div>
<
?php endif
; ?>
A webhely oldalblokkja az "oldal", a törzs és az összes kód zárva van.
<
/
div>
<
!
-
-
конец блока page-
-
>
<
/
body>
<
!
-
-
конец блока body -
-
>
<
/
html>
<
!
-
-
конец кода-
-
>
Létrehoztunk egy teljes index.php fájlt. Most már tudja, milyen parancsokkal és milyen sorrendben jelennek meg a sablonblokkok.
FIGYELEM: Ahhoz, hogy a sablonkód kiolvasható legyen a joomla adminisztrációs panelről, az index.php fájlt meg kell nyitni az AkelPad szerkesztőben, és UTF-8 kódolásban kell elmenteni, miközben törölni kell a BOM bejelölését. Ha a Macromedia Dreamweaver programot használta a fájl kezeléséhez, akkor a visszatérési menüben válassza a "Szerkesztés" > "Oldaltulajdonságok" lehetőséget, és válassza ki a Unicode dokumentumkódolást (utf-8), miközben törölje a jelet az "Enable Unicode aláírások (BOM) jelölőnégyzetből. )". Viszont erősen azt tanácsolom, hogy ne a Joomla adminisztrációs paneljéből szerkessze a kódot, ha elront valamit - nincs visszaút, ellentétben a Macromedia Dreamweaver programmal, ahol mindig vissza lehet vonni a változtatásokat.
A blokkok kialakítását a template.css tartalmazza. De a stíluslapokat testre szabjuk a sablon Joomla 3 (joomla 2.5) rendszerre történő telepítése után, és ehhez létre kell hozni
2017-01-10
Szia kedves látogató!
Ma tól kezdőlap nyelv segítségével PHP programozás teremt dinamikus oldal, amely minden felhasználói kéréssel tovább generálódik a szerveren.
Így az oldal szerkezetének megváltoztatásával és hasonló változó oldalakkal való feltöltésével egy dinamikus oldalt kapunk, ami a jövőben nagyban leegyszerűsíti. technikai támogatásés fejlesztés a statikus opcióhoz képest.
Már az elején szó volt arról, hogy miért van szükséged egy dinamikus weboldalra. lépésről lépésre utasításokat A helyi webszerver telepítésének szükségességéről lásd: Helyi Denwer webszerver telepítése. Ezért visszatérhetünk és felfrissíthetjük ezt a kérdést.
Továbbá, ha tovább kell mérlegelnie a statikus és dinamikus webhelyek előnyeit és hátrányait, javasolhatja, hogy ismerkedjen meg a "Puzzleweb.ru" online címtár oldalaival a Webhelyek típusai szakaszban, ahol a magyarázatok meglehetősen tömörek, de ugyanakkor egyértelműen különböző lehetőségeket oldalak.
képernyőkép 12
Ehhez csak annyit tudunk hozzátenni, hogy egy igazán teljes értékű internetes forrás megszerzéséhez ezt a lépést nem lehet kihagyni, és maradni a statikus oldal lehetőségénél.
Ezért a továbbiakban nem elmélyülünk a dinamikus oldal létrehozásának szükségességéről szóló elméleti vitában, hanem áttérünk annak mérlegelésére, hogyan tesszük ezt.
Tudniillik az alapvető különbség a dinamikus és a statikus oldal között az, hogy a statikus oldalon a kész weboldalak a szerveren hevernek, és sorban állnak, hogy elküldjék őket a felhasználó böngészőjébe. Ugyanakkor, ha az oldalak kisebb eltéréseket mutatnak, mondjuk csak egy kifejezésben vagy akár egy szóban is eltérés van, akkor is külön oldalak lesznek.
A dinamikus változatban az oldalak kialakítása minden egyes felhasználói kérésre megtörténik a szerveren, a kért információtól függően.
Ez egyszerű módon összehasonlítható egy konstruktorral, ahol korlátozott számú elemet lehet létrehozni nagyszámú különféle figurák. Ugyanakkor, ha bármilyen módosítást végez az egyik elemen, akkor az megjelenik a teljes struktúrában, amely ezt az elemet tartalmazza.
Ez alapján elkészített főoldalunkat úgy alakítjuk ki, mint egy bizonyos elemekből (esetünkben ezek fájlok) álló konstruktort, amelyből a későbbiekben felhasználói kérésre weboldalakat állítunk össze.
Az ehhez szükséges lépések magyarázatához a főoldal keretének HTML-kódját használjuk, amelyet a cikkben szereplő webhely létrehozásának egyik szakaszában szereztünk meg.
"utf-8" >
"Leírás" tartalom = "Az oldal tartalmának rövid leírása" >
Ahogy a HTML kódból is látható, a tároló
, amelyet a weboldal látható részének elhelyezésére terveztek, a következő fő blokkokat tartalmazza:Ebben az esetben figyelni kell arra, hogy ötből négy blokk közös, és oldalanként csak egy "Fő tartalom" blokk lesz más.
Egy dinamikus oldal elemeinek megszerzéséhez ezekből a blokkokból külön fájlokba különítjük el a tartalmat, amelyeket később a felhasználók kérésére különböző weboldalak összeállításakor beépítünk.
Most, ebben a szakaszban csak öt ilyen fájl lesz. De a jövőben, amikor oldalakat vagy további funkciókat ad hozzá a webhelyhez, új fájlok kapcsolódnak, és így tovább, ha szükséges.
A webhely szerkezetének ilyen felépítése lehetővé teszi, hogy a jövőben ne vegyen részt az összes oldal HTML-kódjának megváltoztatásának rutinmunkájában, ha bármilyen közös töredéket lecserélnek vagy kiegészítenek. Ilyen esetekben elegendő csak egy adott fájl módosítását végrehajtani, és ezzel a teljes csere folyamat befejeződik. Amint látja, van előnye.
De ahhoz, hogy ezt megtegyük, szükségünk van a PHP nyelvre, amellyel a weboldalak hozzáférhetnek ezekhez a lefoglalt blokkokhoz, és átvihetik maguknak a tartalmát.
Ha valakinek még nem volt dolga a PHP nyelvvel, annak érdemes közelebbről is megismerkednie, hiszen a PHP az egyik legfontosabb weboldal fejlesztő eszköz. Ez megtehető különféle referencia irodalom segítségével, amelyek nagy mennyiségben megtalálhatók a Runeten.
Lehetőségként a többször említett "Puzzleweb.ru" útmutató, amelynek egyik része a PHP témája. A PHP alaposabb tanulmányozásához használhat egy speciális, kifejezetten erre a nyelvre szabott kézikönyvet is, amelyet a "php.ru" oldalon tesznek közzé. A "https://php.ru/manual/control-structures.intro.html" hivatkozás segítségével eljuthat a "Bevezetés" oldalára, ahonnan könnyedén kiválaszthatja a kézikönyv bármely, Önt érdeklő részét.
De ahhoz, hogy most dinamikus webhelyet készítsünk, és lehetővé tegyük a fájlok HTML-oldalakhoz való csatlakoztatását, elegendő csak egy nyelvi utasítást használni (a PHP-ben minden szkript utasítássorozatból áll). Ez a fájlok csatlakoztatására vonatkozó utasítások négy lehetséges opciója lehet:
Nincs értelme itt leírni funkcióikat, mivel ezt részletesen elmagyarázzák a kézikönyvekben, például a "http://www.puzzleweb.ru/php/26_inc_files.php" hivatkozás segítségével jól kitalálhatja.
Az oldal létrehozásakor a "require_once" utasítást fogjuk használni, én ezt szoktam használni, számomra ez a legkényelmesebb.
Nos, most, hogy kitaláltuk, mit fogunk tenni, térjünk át a gyakorlati tevékenységekre.
Ahhoz, hogy blokkokat hozzon létre, amelyek ezután részt vesznek a weboldalak összeállításában, először létre kell hoznia azokat. Ez ugyanúgy történik a Notepad++ szövegszerkesztőben, mint ahogy a cikkben létrehoztuk az első webhelyfájlt, az "index.html". Hozzon létre egy weboldalt, és tárolja azt egy helyi webszerveren. Csak a kiterjesztést ebben az esetben nem "html", hanem "php"-t kell megadni. Ugyanakkor ügyelni kell a kódolásra, hogy a jövőben elkerüljük a különféle értelmezhetetlen karakterek megjelenését az oldalakon.
A fájlok egy külön, újonnan létrehozott "blokkok" mappában jönnek létre. Az összes oldalon közös fájlokhoz a megfelelő blokkok nevei alapján adunk nevet. A "fő" blokkhoz pedig egy konkrét nevet adunk meg a webhely minden oldalához.
Így a főoldalhoz a "block_glavnaya" nevű fájlt a "fő" blokkhoz kapcsoljuk. A többi: „fejléc”, „szakasz”, „félre” és „lábléc”.
Fájlok létrehozásakor azt is figyelembe veheti, hogy ennek az eljárásnak az egyszerűsítése érdekében a "Fájl" menü segítségével lehetőség van a másolásra, a "Mentés másként" mentéskor új fájlnév megadásával.
Általánosságban elmondható, hogy a fájlok létrehozása szabványos eljárás, így nem lehetnek nehézségek. A végén így kell kinéznie.
Ezután minden blokk tartalmát átmásoljuk és átmásoljuk a megfelelő fájlba. Nézzük meg ezt részletesebben a „fejléc.php” példa segítségével.
1. Nyissa meg az "index.html" fájlt a Notepad++ szerkesztőben, válassza ki a "fejléc" blokk kívánt területét, és váltakozva nyomja meg az egér jobb és bal gombját a vágólapra másoláshoz.
Megjegyzendő, hogy ide a blokk összes tartalmát másoljuk, kivéve a menüt. Ennek az az oka, hogy az aktív menügombot tükrözze a címke attribútumaiban
A jövőben ezeket a "fejléc" és "lábléc" blokkokban lévő menütöredékeket is külön fájlokba helyezzük át, de egyelőre nem bonyolítjuk őket, és egy helyen hagyjuk őket.
A „fejléc” blokk töredékének kijelölése és vágólapra másolása az alábbi képernyőképen látható.
3. És végül, annak érdekében, hogy a fájl tartalmát a Notepad ++-ban bal oldalra tolja, többször meg kell nyomnia a "Tab" billentyűt, miközben lenyomja a "Shift" gombot. Ennek eredményeként a generált "header.php" fájlt a következő formában kapjuk meg.
Ugyanezt fogjuk tenni más fájlokkal is. Az alábbi képernyőképek megmutatják, hogyan fog kinézni a tartalmuk, ha az összes szükséges műveletet elvégezte.
6. ábra "section.php" fájl
7. ábra "block_glavnaya.php" fájl
8. ábra "aside.php" fájl
9. ábra "footer.php" fájl
Így megkaptuk az összes fájlt a dinamikus oldal létrehozásához, és most már közvetlenül a HTML kódjához tudunk lépni.
Annak érdekében, hogy főoldalunk betöltse az előző részben létrehozott fájlokat, először meg kell változtatnia az "index" fájl kiterjesztését "html"-ről "php"-re, majd újra meg kell nyitnia a Notepad++ szerkesztőben, és a következő változások:
Ezen műveletek elvégzése után a főoldalunknak így kell kinéznie.
A fenti képernyőképen láthatja, hogy az összes PHP utasítás egy nyitó címkével van kiemelve. Ez a jelölés arra szolgál, hogy jelezze, mikor kell elindítani és leállítani a PHP-ben írt kód feldolgozását. Ezért a jövőben minden PHP kódot ezzel a jelöléssel fog megkülönböztetni.
Arra is lehet figyelni, hogy az új oldalak nevei a céljuk figyelembevételével készülnek, így jobban áttekinthető az oldal szerkezete, kódja.
Ezzel minden átalakulásunk teljessé válik. És most, ha újra megnyitjuk a főoldalt a böngészőben, akkor az oldal előző verziójával nem láthatunk változást, ugyanúgy meg kell nyílnia, mint korábban. De ha az eredmény valami rossz, akkor ez azt jelenti, hogy meg kell keresnie a fenti műveletekben elkövetett hibát.
Frissítsük most a böngészőt, és próbáljuk meg megnyitni a főoldalt.
Mint látható, esetünkben a főoldal probléma nélkül megnyílt. De az oldal korábbi munkájával ellentétben az oldal a kérés feldolgozása során a szerveren történő formálás eredményeként szerezte meg ezt az űrlapot.
Így oldalunknak most van az első dinamikus oldala. És miután további hasonló oldalakat is hozzáadtunk hozzá, ezt az oldalt joggal nevezhetjük dinamikusnak az ebből fakadó összes következménnyel együtt, pl. a dinamikus webhelyekben rejlő összes előnnyel rendelkezik. Ezt pedig akkor tudjuk ellenőrizni, ha a jövőben különféle funkciókkal töltjük fel.
Ezzel az oldalfejlesztésnek ezt a fontos szakaszát befejezzük és a következő cikkben új, dinamikus oldalakat készítünk hozzá. Az oldal legfrissebb verziójának forráskódjai a szokásos módon letölthetők a cikk végén található linkről.
Az oldal forrásfájljai az ebben a cikkben elvégzett frissítésekkel a mellékelt oldalról letölthetők kiegészítő anyagok.
Óvintézkedéseket kell tenni. Mert az erőforrás rendkívül dinamikusnak bizonyulhat. Az és nézd, harapj!
Mára ez a két tudományág szinte összefügg. Az ő tandemük az az alap, amelyre az internet nagy részének "élete" épül. Természetesen más szerveroldali nyelvek (Perl, ASP.NET) is használatosak a html-mel együtt. De elterjedtségük a World Wide Web-en a PHP-hez képest pusztán epizodikus.
A statisztikák szerint az Internet legtöbb forrásának architektúrája php és html alapján épül fel.
Sok kezdő számára érthetetlennek tűnik e technológiák közötti kapcsolat. Egyrészt statikus html , amit a böngészők kliens oldalon értelmeznek. Másrészt ez egy programozási nyelv, amelyet a szerver dolgoz fel. Ezért, mielőtt a semmiből írna egy webhelyet php-ben, egy egyszerű példát adunk a két technológia kölcsönhatására:
Ahogy a képernyőképen is látható, a vonalnem jelenik meg az oldal html kódjában. A böngészőben és a kódban is csak a visszaadott dátum és idő látható. Ez azt jelenti, hogy a szkriptet a szerver oldalon dolgozták fel. Ezért egy webhely php-ben történő létrehozása alapvetően különbözik az egyszerű html oldalak írásától.
Manapság két fő webhelytípus létezik:
A Java Script kód az ügyféloldali böngészőben fut.
Egy dinamikus php webhely a következő fájlokból áll:
Ezenkívül a webhelyprojekt állhat olyan fájlokból, amelyek a php függvények és metódusok kódját tárolják. És tartalmazzon egy adatbázist is.
A legtöbb CMS-ben a szerver oldalon dinamikusan generált oldalak kitöltésének tartalomforrása az adatbázis. A leggyakrabban használt adatbázis a MySQL.
Hogy megértsük, hogyan jön létre egy webhely php-ben, nézzünk meg egy gyakorlati példát. Természetesen sok minden le van egyszerűsítve, de a teljes munkamechanizmus és a teremtés szakaszai megmaradnak.
Van egy html oldalam a következő felépítéssel és kialakítással:
A kódja: