Ahoj všichni. Rád bych představil další kolo napsané v PHP pomocí Objekt dokumentu Modelka. Čím se liší od ostatních tříkolových zástupců stejného druhu? Ve skutečnosti tam není tolik rozdílů, kombinuje to nejlepší z mnoha. Například:
1. Úplné oddělení html a php.
2. Žádné další štítky v šablonách jako
3. Možnost vložit do layoutu obsah jiných souborů šablon, a to jak z php, tak pomocí speciálního tagu v layoutu.
4. Schopnost vytvořit libovolný html tag za chodu.
5. Schopnost spořit html soubor vše, co bylo vytvořeno a shromážděno.
6. Kontrola existence html souboru požadované stránky před vygenerováním šablony.
Aby bylo všem hned jasné, jak pohodlné a snadné je to používat, řeknu a ukážu, jak jsem to použil k vytvoření jednoho ze svých projektů (tuším, že na to přepíšu všechny své projekty).
První věc, kterou obvykle dělám, je získat všechny informace z databáze o stránce ( klíčová slova, popis stránky, název šablony a adresy souborů css a js). To vše ukládám do pole $ head. Poté získám obsah z databáze a uložím jej do pole $ page. A začnu pracovat se třídou.
Nejprve tedy zavolám konstruktor třídy a předám do něj všechny požadované parametry:
$ tpl = nová šablona; $ tpl -> ext = TPL_EXTENSION; # rozšíření souborů v adresáři šablony $ tpl -> htm = CACHE_EXTENSION; # rozšíření pro již vygenerované stránky $ tpl -> skin_dir = DIR_TEMPLATES; # adresář obsahující všechny šablony stránek (například šablony) $ tpl -> js_dir = DIR_JS; # adresář, kde potřebujete hledat soubory JS $ tpl -> css_dir = DIR_CSS; # adresář, kde se nachází CSS $ tpl -> img_dir = DIR_IMG; # adresář kde obrázky $ tpl -> skin = $ _SESSION ["skin"]; # název šablony, kterou chci použít $ tpl -> cache = DIR_CACHE; # kam uložit hotové html $ tpl -> log = FILE_T_LOGS; # kam zapisovat protokoly $ tpl -> tag_start = SYMBOL_START_TAG; # Znak, kterým proměnné v šabloně začínají $ tpl -> tag_end = SYMBOL_END_TAG; # Znak, který ukončuje proměnné v šabloně $ tpl -> dir_delimeter = DIRECTORY_SEPARATOR; $ tpl -> mezera = SYMBOL_SPACE; # znak nahrazující mezeru.
Fuf, zdá se, že všechny proměnné byly předány, pojďme dál.
Abychom třídu nenutili dělat zbytečnou práci, nejprve zkontrolujeme, zda již máme hotový Html soubor požadované stránky.
if ($ tpl -> TestPageStatus () === TRUE) (vyžadovat $ tpl -> cacheFileName;) else ($ tpl -> stránka ("index"); # předat název souboru šablony, mimochodem může jich předat několik, oddělených čárkami $ tpl -> přiřadit ("HEAD", $ head); $ tpl -> přiřadit ("CONTENT", $ page); $ tpl -> build (); # zadat příkaz vytvořte šablonu $ tpl -> ShowPage (); # výstup.)
Zde jsou všechny metody, které musíte použít k zobrazení stránky.
Nyní se podívejme na několik užitečných metod této třídy. Řekněme, že jsme třídě již předali vše, co potřebujeme, ale ještě jsme jí nedali příkaz k výstupu, protože jsme si najednou vzpomněli, že musíme v šabloně vytvořit několik Html značek. To je také velmi snadné. Nejprve musíme najít blok, do kterého chceme něco přidat. Najdete ho 2 způsoby:
$ tpl -> findById ("findMe"); $ tpl -> findByTagName ("div");
Metoda findById logicky předpokládá, že všechna ID značek v šabloně jsou jedinečná. A metoda findByTagName vrátí první, která odpovídá.
Výsledek, který jsme získali hledáním, musíme předat metodě $ tpl -> createChild (), abychom mohli v nalezeném prvku vytvořit podřízené tagy. Metoda createChild nám ho mimochodem po vytvoření nového prvku vrátí, abychom nově vytvořený prvek mohli použít jinde.
Při šťouchání a experimentování jsem našel 3 způsoby, jak vytvořit značky v šabloně, takže vám ukážu 3 příklady najednou. Příklad 1:
Potřebujeme tvořit
uvnitř$ parent = $ tpl -> findById ("rodič"); $ tpl -> createChild ($ parent, "div", "id = child, class = test");
Dostaneme:
Příklad 2:
Potřebujeme tvořit
$ parent = $ tpl -> findById ("rodič"); $ tpl -> createChild ($ rodič, "div", "id = dítě, třída = test", "Nějaký text");
Dostaneme:
Příklad 3:
Potřebujeme tvořit
$ parent = $ tpl -> findByTagName ("span"); # (1) $ tpl -> createChild ($ parent, "div", "New Element"); # (2)
(1) Hledání rodiče ne podle id, ale podle tagu najde první odpovídající
(2) Pokud nepotřebujeme atributy, ale pouze hodnotu nového prvku, pak je lze vynechat.
Dostaneme:
A po těchto manipulacích již volám ShowPage. A zde se plynule dostáváme k dalším 2 zajímavým bodům.
Představte si situaci, že máme šablonu, předpokládejme, že je to šablona list.tpl se seznamem, řekněme, mobilních telefonů:
(OBSAH.Značka)
(OBSAH.Model)
(CONTENT.Info)Pokud jsme přenášeli informace pouze přes 1 telefon, pak se proměnné jednoduše nahradí jejich hodnotami a pokud jsme přenášeli informace přes více telefonů najednou, tak třída zkopíruje tuto sekci tolikrát, kolik variant hodnot přibylo. to. A udělá to sám, na rozdíl například od třídy xTemplate, která měla pro každou hodnotu přiřadit a analyzovat
Je pravda, že existuje jeden nepříliš vhodný okamžik, pokud po tomto bloku existují další, například:
(OBSAH.Značka)
(OBSAH.Model)
(CONTENT.Info)Pak v takové situaci budeme muset použít malý trik a sbalit si mobil
(OBSAH.Značka)
(OBSAH.Model)
(CONTENT.Info)V tomto případě se všechny mobilní telefony objeví jeden po druhém, uvnitř a "Nějaký jiný blok" zůstane níže.
A pokud jsem na nic nezapomněl, tak na poslední chvíli je přidávání obsahu dalších šablon do aktuální šablony.
Znovu apeluji na vaši představivost.
Představte si, že návrhář rozvržení chce, aby byl obsah souboru page.html přidán do bloku souboru list.html, k tomu přidá na správné místo v souboru list.html
Počet takových vložek není omezen a jejich umístění není absolutně rozhodující, takže je můžete vkládat libovolně a v libovolném množství.
To je asi vše, pokud si na něco vzpomenu, dám dodatečně vědět. Děkuji, že jste dočetli až do konce.
Tagy: php, class, template, template engine, parser
Po vytvoření info-file, v zásadě je téma již definováno. To znamená, že můžete přejít do sekce pro správu témat http://mysite.ru/admin/build/themes a zahrňte tam své téma. Po zapnutí samozřejmě neuvidíte žádný design - stránka získá styl "černé na bílém" - černý text na bílém pozadí.
Chci však poznamenat, že navzdory skutečnosti, že v našem tématu nejsou žádné soubory kromě mytheme.info nelže, web bude fungovat stejně jako dříve – zobrazí veškerý obsah, přidá bloky do regionů ( http://mysite.ru/admin/build/block) atd. To je způsobeno tím, že jádro Drupalu zahrnuje požadované moduly, které vám i v případě nepřítomnosti jakýchkoli souborů ve vašem motivu (s výjimkou souboru info) umožňují pokračovat v práci s Drupalem.
V zásadě se veškerá tvorba šablon redukuje na překrývající se soubory šablon (mají příponu .tpl.php) standardní moduly našeho CMS.
Nejdůležitější soubor tpl (tpl je zkratka pro šablona, vzor) je page.tpl.php... Je zodpovědný za vytvoření každé stránky webu. Podívejme se, z čeho se soubor šablony skládá:
- html kód
- php kód
- javascriptový kód(není nutné)
Drupal přenáší data webu do každého souboru šablony ve formě standardních proměnných. Pro každý soubor šablony existují 2 typy proměnných:
- proměnné, které jsou předány pouze tomuto souboru
- proměnné, které jsou předány všem souborům
Zde je seznam všech proměnných pro page.tpl.php:
Společné proměnné (pro všechny soubory):
- $ základní_cesta- základní cesta, kde byl nainstalován drupal
- $ css- pole css souborů připojených k aktuálnímu souboru šablony
- $ adresář- cesta ke složce, kde je motiv nainstalován
- $ je_přední- vrátí TRUE, pokud jste na hlavní stránce
- $ přihlášeni- vrátí TRUE, pokud jste přihlášeni
- $ is_admin- vrátí hodnotu TRUE, pokud máte přístup k panelu správce
Metadata stránky
- $ jazyk- (objekt) Aktuální jazyk který je zobrazen na webu
- $ jazyk-> jazyk- obsahuje jeho textovou reprezentaci
- $ jazyk-> dir- obsahuje směr jazyka. Bude to buď "ltr" (zleva doprava) nebo "rtl" (zprava doleva)
- $ head_title- upravená verze názvu stránky pro použití mezi značkami
- $ hlava- vkládá se mezi značky ... Obsahuje meta tagy, klíčová slova atd.
- $ styly- slouží ke stažení všech css-soubory na aktuální stránku
- $ skripty- slouží ke stažení všech javascript "s na aktuální stránku
- $ body_classes- soubor tříd css pro značku ... Obsahuje informace o aktuálním umístění sloupců na webu, jejich počtu, aktuální url „e atd.
Informace o webu
- $ titulní strana- adresa hlavní stránky webu. Je lepší použít tuto proměnnou k odkazování domovská stránka od té doby zahrnuje jazyk domény a předponu
- $ logo- cesta k logu webu, pokud je na webu zahrnuto
- $ site_name- jméno stránky. Může být prázdný, pokud jej zakážete ve funkcích v souboru informací. Konfigurovatelné na mysite.ru/admin/settings/site-information
- $ site_slogan- slogan webu. Může být prázdný, pokud jej zakážete ve funkcích v souboru informací. Konfigurovatelné na mysite.ru/admin/settings/site-information
- $ mise- poslání webu. Může být prázdný, pokud jej zakážete ve funkcích v souboru informací. Konfigurovatelné na mysite.ru/admin/settings/site-information
Navigace
- $ vyhledávací_box- obsahuje html kód, který zobrazuje hledaný řetězec. Může být prázdný, pokud jej v informačním souboru vypnete
- $ primárních_odkazů
- $ sekundární_linky- pole obsahující navigační odkazy na web, pokud jsou povoleny ve funkcích informačního souboru
Výchozí obsah stránky
- zbývá $- region. Obsahuje html kód pro levý sloupec. Pokud v souboru informací zadáte nějaké oblasti, zmizí
- $ strouhanka - "strouhanka" pro aktuální stránka
- $ titul- název stránky
- $ pomoc- dynamické tipy, většinou zobrazené na panelu administrátora
- $ zpráv- zobrazuje zprávy o chybách a varováních na webu
- $ karty- odkazy (záložky) propojující aktuální stránku s jejími podstránkami (například u článku - s její editační stránkou)
- $ obsah- obsah aktuální stránky
- $ správně- region. Obsahuje html kód pro pravý sloupec. Pokud v souboru informací zadáte nějaké oblasti, zmizí
Spodní oblast / krycí data
- $ feed_icon- řádek se všemi ikonami zpětná vazba pro aktuální stránku
- $ footer_message- zpráva v dolní části stránky. Konfigurovatelné na mysite.ru/admin/settings/site-information
- $ zápatí- region. Obsahuje html kód pro spodní část stránky. Pokud v souboru informací zadáte nějaké oblasti, zmizí
- $ uzavření- závěrečný štítek pro všechny moduly, které změnily stránku. Tato proměnná musí být zobrazena po veškerém dynamickém obsahu. Nejlépe před uzavřením štítku BODY
Všechny jsou uvedeny zde standardní proměnné... Ale můžete sem přidat své proměnné buď jako regiony info-file, nebo v jakékoli jiné roli prostřednictvím souboru šablona.php(o něm trochu později).
Nyní vám ukážu, jaký kód by měl být page.tpl.php a do jakého kódu to pak prohlížeče interpretují. Zde je část kódu z page.tpl.php:
První řádek kontroluje, zda má aktuální stránka vůbec název. Pokud tam není, debugger tento kód jednoduše přeskočí a nezadá ho. Pokud nadpis existuje, bude značka přidána do html kódu stránky
, po něm se vytiskne titulek stránky a vše se uzavře tagem
... Pokud se podíváte na kód této stránky v prohlížeči, bude to vypadat takto:
Lekce 4. Požadované soubory k vytvoření šablony. Stránka.tpl.php
Tímto způsobem jsou zabaleny téměř všechny proměnné webu. Dělá se to proto, abychom mohli stylizovat obsah, aniž bychom předem věděli, co to bude.
Takhle to vypadá standardní soubor page.tpl.php který přichází s Drupalem. Změňte názvy tříd, přeuspořádejte proměnné – a uvidíte, co se stane. To je nezbytné k tomu, abyste „cítili“, jak to funguje a co se jako výsledek zobrazuje.
"- // W3C // DTD XHTML 1.0 Strict // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/1999/xhtml" xml: lang = "jazyk?> " lang = "jazyk?> " dir = "dir?>">
"title =" (! JAZYK:"rel = home">tisk $ site_name; ?>
Oddělení logiky příjmu dat od logiky jejich zobrazení je velmi důležitou součástí vývoje webu.
Každý programátor, který se mírně povznesl nad úroveň „Ahoj světe“, začíná pociťovat potřebu takového oddělení. Ne každý ale dochází ke správným závěrům a rozhodnutím.
Zde jsou proto nejdůležitější pravidla:
1. Přijímací kód a kód zobrazení dat musí být odděleny.
2. Jakýkoli výstup by měl začít až poté, co jsou pro něj připravena všechna data.
3. V důsledku toho by se každý skript měl zabývat pouze zpracováním dat. Poté může buď poslat nějakou HTTP hlavičku, nebo zavolat šablonu a předat jí připravená data, nebo obojí dohromady.
4. Jaký šablonový engine použít, je desátá věc. Nejjednodušší a nejdostupnější je samotné PHP, takže na něm budou uvedeny příklady.
Bludy
Pravděpodobně neexistuje téma webového programování, které by bylo tak samozřejmé jako nepochopitelné jako šablony. Každý dříve nebo později přijde na to, že je potřeba používat šablony. Ale z nějakého důvodu to přichází prostřednictvím některých nejdivočejších klamů a fantazií.
Nejjednodušší a nejzřejmější mylná představa je, že začátečníci nazývají soubor „design“, což je společný html pro všechny stránky webu, jako šablonu. A v tomto se uklidňují. Dynamické informace, nic neváhá, zobrazující staré dobré echo :-)
Ve skutečnosti se šablonový engine zabývá hlavně zobrazováním měnícího se obsahu stránek webu. A závěr „designu“ je úkol druhořadý.
Existují dvě hlavní fantazie:
1. "Návrhář" potřebuje šablony, aby je mohl upravovat, aniž by musel rozumět PHP.
2. Šablony tedy slouží k oddělení PHP od HTML.
Zkusme se zamyslet nad prvním tvrzením. co je to designér? To je člověk, který pracuje ve Photoshopu. Nejčastěji neumí HTML vůbec. A na šabloně pracuje buď speciální návrhář rozložení, nebo - nejčastěji ... programátor sám! Legrační, že?
Nyní důsledek, o oddělení PHP od HTML. Pokuta. Máme před sebou svatý cíl oddělit se. Proto přicházíme se Smartym a píšeme:
(foreach key = cid item = con from = $ Contacts)
($ con.name) - ($ con.nick)
(/ pro každého)
Ještě vtipnější.
„Návrhář“, pro kterého bylo vše nastartováno, omdlévá štěstím.
Teorie
Ukazuje se, že naše důvody, proč jsme se rozhodli používat šablony, nestojí ani korunu. A co teď - nejsou potřeba, jak se ukazuje, šablony obecně? Potřeboval. Nejprve si ale musíte odpovědět na otázku - "proč?" Proč potřebovat šablony. A ověřte si odpověď praxí. Tuto otázku jsem položil lidem mnohokrát. Na to ale skoro nikdo nedokáže odpovědět. Proč potřebuje šablony. Ukazuje se, že lidé něco dělají, aniž by věděli proč.
To je ta nejzábavnější věc.
Za dobu svého působení jako webový programátor jsem si pro sebe zformuloval tři důvody, proč já osobně šablony potřebuji. Ve skutečnosti jsou dva. A nakonec dojde k jedné věci:
Jeden kód – více zobrazení.
Často se stává, že místo jedné informace potřebujete ukázat jinou. Například kód pro práci s databází obdrží chybovou zprávu místo textu novinky. V tomto případě musíte místo stránky se zprávami ukázat úplně jinou - s omluvou a žádostí, abyste se vrátili později. Pomocí šablon je to velmi snadné.
Často musí být stejné informace uvedeny v několika formách. Například běžná stránka a tisková stránka. Informace jsou stejné, kód vyhledávání je stejný a výstupní kód je jiný. Tváří v tvář takové situaci můžete velmi rychle rozdělit svůj kód na dvě části, z nichž jedna je zodpovědná za výstup a druhá ne. Další příklad: řekněme, že bychom chtěli informace vytisknout ne přímo do HTML, ale prostřednictvím požadavku AJAX ve formátu JSON. Pokud jsme použili šablonový engine, pak změníme přesně jeden řádek v našem kódu – volání šablonového modulu na volání json_encode (). A pokud byl náš výstup smíchán s kódem pro příjem dat, pak musel by se přepsat celý kód!
Situace je poněkud podobná: řekněme, že náš skript je na dvou stránkách. Plus kopie u nás. A tak jsme doma našli velkého brouka. Zavřete to. Nyní musíme aktualizovat kód na stránkách. A je to tady - moment pravdy: pokud byly šablony použity správně, pak jednoduše nahrajeme kód na obě stránky a vše funguje dál, jako by se nic nestalo! Tato situace je podle mého názoru ideálním testem zvoleného přístupu k šablonování.
Další důležitý bod, který mnoha lidem uniká (ve svém teoretickém uvažování, zatímco se s ním neustále setkává v praxi!) - pořadí provádění skriptu nemusí vždy odpovídat pořadí výstupu v šabloně... Učebnicový příklad - zobrazení názvu článku v tagu
Je třeba také připomenout, že kromě textu PHP skripty zobrazují také HTTP hlavičky. Což se musí zobrazit před jakýmkoli textem, nebo i místo textu obecně (pokud například chceme uživatele přesměrovat na jinou stránku). Pokud nejprve implementujeme logiku aplikace, aniž bychom zároveň cokoliv zobrazovali, pak pro nás vydání požadované HTTP hlavičky nebude činit žádný problém.
Pro používání šablon můžete mít své vlastní důvody. Ovšem s jedinou podmínkou – tyto důvody by měly být způsobeny skutečnou, životní nutností, a nikoli „vyššími ohledy“ a starostí o nějaké neznámé lidi.
Praxe
Nyní přejděme od teorie k praxi.
V nejjednodušším případě při zobrazení jakékoli stránky budeme mít vždy dvě šablony: obecnou šablonu webu a šablonu obsahu pro konkrétní stránku.
Řekněme, že chceme vytvořit stránku s odkazy na stránky přátel.
V tomto případě bude zjednodušený kód vypadat takto:
Samotný soubor links.php. Výstupy NIC. Pouze připraví data a poté zavolá šablonu.
// povolení nastavení.
zahrnout "settings.php";
// získat data z databáze, definovat proměnné
$ pagetitle = "(! LANG: Odkazy"
;!}
$ DATA = $ db -> getAll ("SELECT * FROM odkazy");
// nastavení šablony stránky a volání obecné šablony webu
$ tpl = "tpl_links.php";
zahrnout "tpl_main.php";
Obecná šablona (tpl_main.php):
include $tpl ?>
Na správném místě je v něm obsažena šablona naší stránky (tpl_links.php):
=$pagetitle?>
- "target =" _blank ">=$row [ "name" ] ?>
foreach($DATA as $row ): ?>
endforeach ?>
Nejjednodušší způsob je vytvořit šablony založené na statických stránkách již rozvržených v HTML. Zvažme vytvoření a připojení šablony pomocí příkladu. Řekněme, že již máte soubor HTML s následujícím obsahem:
<html> <hlava> <meta jméno = "popis"obsah = /> <meta jméno = "klíčová slova"obsah = /> <titulek>titulek> <odkaz href = "style.css" rel = "stylesheet" typ = "text / css" /> hlava> <tělo>// nabídka Start<ohraničení tabulky = "1" > <tr> <td><a href = "/" > <b> Domovb>a>td> tr> <tr> <td><a href = "/ o /"> O mněa>td> tr> <tr> <td><a href = "/ já_a_já /"> Já a světovládaa>td> tr> <tr> <td><a href = "/ kontakty /"> Kontaktya>td> tr> tabulka>// konec menu<h1> Domovská stránkah1> <p> p> <p> Text o mně: Text o mně: Text o mně: Text o mně:p> <p> Text o mně: Text o mně: Text o mně: Text o mně:p> <p> Text o mně: Text o mně: Text o mně: Text o mně:p> tělo> html>Chcete-li přidat šablonu do CMS, musíte vytvořit soubor v adresáři tpls / content, například test.tpl, a vložit tam svůj HTML kód. Soubor CSS by měl být umístěn ve složce css / cms a pojmenován style.css. Je žádoucí umístit obrázky do složky obrázků. Nezapomeňte změnit cesty pro všechny obrázky a soubory CSS.
Komentář
V názvu souboru šablony nelze použít ruská písmena!
Aby systém „uviděl“ novou šablonu a začal ji používat k zobrazování stránek, je nutné šablonu do systému přidat. Chcete-li to provést, přejděte do nastavení modulu "Struktura" na kartě "Šablony" ( http://yourdomain.ru/admin/content/config/ ). Uvidíte seznam již nainstalovaných šablon v každé doméně, které existují ve zvolené jazykové verzi.
Chcete-li připojit nový soubor šablony, vyplňte spodní volný řádek polí „ Název šablony"(Dejte tomu nějaké smysluplné jméno, například" Můj testovací vzor") A" Název souboru "(v našem případě test.tpl) a klikněte na tlačítko" Uložit ".
Pokud chcete, aby byla tato šablona použita jako výchozí šablona, zaškrtněte políčko „Hlavní“ vedle ní. Tato šablona bude nyní standardně vybrána v rozevíracím seznamu pro výběr šablony. Poslouží také k zobrazení systémových stránek, které používají výchozí šablonu (Registrace, Obnova hesla, Sitemap).
Šablony budou viditelné v rozevíracím seznamu při úpravě každé stránky:
Na jednom webu tak můžete používat mnoho šablon současně a vybrat vhodnou šablonu jak pro jednu stránku, tak pro skupinu stránek.
Zkuste vytvořit novou stránku (ujistěte se, že je vybrána nová šablona ve volbě Šablona návrhu) a uvidíte, co se na webu stane.
Na webu by se měla objevit vaše šablona HTML. Ale teď je to statické. Nyní to musíte udělat dynamickým.
Nejprve musíte určit, které části kódu HTML se změní. V našem případě se změní následující:
název okna
meta tagy klíčová slova a popis;
název textu
;
skutečný text;
menu webu.
To znamená, že musíme trochu pracovat s HTML šablonou a místo měnících se sekcí umístit odpovídající makra.
Například na začátku souboru HTML jsou značky metadat a název:
<meta jméno = "popis"obsah = "popis místa Vasily Pupkin" /> <meta jméno = "klíčová slova"obsah = "Oficiální stránky Vasyy Vasily Pupkin" /> <titulek> Web Vasyi Pupkin: Hlavní stránkatitulek>Nahradíme je odpovídajícími makry (seznam maker je uveden v příloze):
<meta jméno = "popis"obsah = "% popis%" /> <meta jméno = "klíčová slova" obsah = "% klíčových slov%" /> <titulek>% titul%titulek>Nyní při generování stránek systém vezme meta tagy a název předepsané pro každou stránku jednotlivě a nahradí je namísto odpovídajících maker. Je velmi snadné zapamatovat si názvy maker.
Udělejme totéž s názvem textu. Bylo to takto:
<h1> Domovská stránkah1>A stane se tak. Textové záhlaví se zobrazí pomocí makra % header%:
<h1>% záhlaví%h1>Změní se také hlavní text stránky:
<p> Text o mně: Text o mně: Text o mně: Text o mně:p> <p> Text o mně: Text o mně: Text o mně: Text o mně:p> <p> Text o mně: Text o mně: Text o mně: Text o mně:p> <p> Text o mně: Text o mně: Text o mně: Text o mně:p>Existuje makro pro zobrazení hlavního textu stránky % obsah% :
% obsah%Na začátek souboru mezi tagy
a vložte makro:Tento řádek umožňuje rychlé úpravy a další užitečné funkce. S ním můžete stisknutím Posun +D, rychle přejděte k úpravě aktuální stránky webu nebo některé z jejích částí.
V důsledku toho byste měli získat následující:
<html> <hlava> <meta jméno = "popis"obsah = "% popis%" /> <meta jméno = "klíčová slova" obsah = "% klíčových slov%" /> <titulek>% titul%titulek> <odkaz href = "style.css" rel = "stylesheet" typ = "text / css" /> % system includeQuickEditJs ()%hlava> <tělo>// nabídka Start<ohraničení tabulky = "1" > <tr> <td><a href = "/" > <b> Domovb>a>td> tr> <tr> <td><a href = "/ o /"> O společnostia>td> tr> <tr> <td><a href = "/ projekty /"> Projektya>td> tr> <tr> <td><a href = "/ kontakty /"> Kontaktya>td> tr> tabulka>// konec menu<h1>% záhlaví%h1>% obsah%tělo> html>Uložíme tedy soubor šablony a podíváme se na výsledek. Stránka je nyní téměř zcela dynamická, s výjimkou menu. Je potřeba "oživit" menu stránek. Podívejme se, jak je menu uspořádáno:
// nabídka Start<ohraničení tabulky = "1" > <tr> <td><a href = "/" > <b> Domovb>a>td> tr> <tr> <td><a href = "/ o /"> O mněa>td> tr> <tr> <td><a href = "/ já_a_já /"> Já a světovládaa>td> tr> <tr> <td><a href = "/ kontakty /"> Kontaktya>td> tr> tabulka>// konec menuMenu se skládá z položek. Jídelní lístek sám o sobě je nějak zdobený a položky mají i design. Například celé menu může mít nějaký rámeček nebo pozadí, aktuální položka menu může být zvýrazněna tučně atd. Ve stejné nabídce mohou být také různé úrovně.
Vyberte rám nabídky:
// nabídka Start<ohraničení tabulky = "1" > tabulka>// konec menuPoložka nabídky je navržena takto:
<tr> <td><a href = "/ kontakty /"> Kontaktya>td> tr>Aktuální položka nabídky má jiný styl:
<tr> <td><a href = "/" > <b> Domovb>a>td> tr>Původní šablona nabídky se nachází v souboru /tpls/content/menu/default.tpl a vypadá takto:
% text%