Tvorba šablony pro Drupal (II. díl)
Úterý, 17 Srpen 2010 13:20
V dnešním článku navážeme na předchozí znalosti a budeme upravovat tpl.php soubory tak aby vytvořily požadovanou šablonu, ukážeme si základní proměnné, které je možné v šabloně použít, naučíme se vložit do šablony kaskádové styly a javascriptové soubory.
O info souboru jsme si říkali již minule dnes se podíváme na druhý nejdůležitější soubor a tím je page.tpl.php. Ten spolu s css soubory obstarává samotný vzhled stránky. Každá HTML stránka musí mít hlavičku, začněme tedy u ní. Hlavička může vypadat například následovně:
Jak vidíte, začínáme klasicky HTML specifikací. Zde jsou použity proměnné language a dir, které udávají název aktuálního zvoleného jazyka a adresář. Tuto část můžete s klidem zkopírovat i do své šablony a můžete ji ponechat beze změn. Následuje deklarace hlavičky, jako první se vkládá proměnná $head, zde jsou vloženy například metatagy, klíčová slova atd. Následuje tag title a proměnná head_title, myslím, že zde není co vysvětlovat. Pokud by jsme chtěli přidat na konce titulků stránek nějaký vlastní text není nic jendodušího než zapsat tag title následovně:
Za titulkem následuje výpis proměnných styles a script. Tyto dvě proměnné vloží do hlavičky externí css a js soubory, které jsme si definovali v souboru .info, smozřejmě je možné vepsat je natvrdo přímo do souboru page.tpl.php. Jako poslední věc je do hlavičky vložen podmíněný css styl. Ten samozřejmě není nutnost do šablony vkládat ale můžeme si na něm ukázat další z možných vlastností správy šablon a to je definování vlastních php funkcí. Aby byl kód šablony přehledný je možné definovat v souboru template.php definovat vlastní php funkce. Tento soubor poté uložit do stejného adresáře jako page.tpl.php. A drupal už se automaticky postará o include toho souboru do šablony a je tedy možné používat funkce v tomto souboru dle libosti. Všechny funkce v souboru template.php mouhou mít i vstupní parametry. Jako parametry je možné použít proměnné, které jsou v šabloně dostupné. Jsou to ony proměnné head,scripts,style,head_title. Všechny proměnné které lze použít najdete na následující stránce. Zde jsou všechny proměnné popsané, všechny tyto proměnné můžeme použít v souborech šablony. Pro neanglicky mluvící popis nejdůležitějších věcí.
- $base_path - kořenová cesta, většinou pouze /
- $directory - název šablony
Tyto dvě proměnné je vhodné používat při vkládání například obrázků do šablony
- $is_front -booleovská proměnná true=hlavní strana, false = všechny ostatní
- $logged_in - zda-li je uživatel přihlášen, tuto proměnnou je možné využít pro zobrazení určité části stránek pouze pro přihlášené
- $logo - cesta k obrázku loga
- $primary_links
- $secondary_links
proměnná links slouží pro zobrazování menu. Jsou typu Array() takže je možné je projet foreach cyklem a zobrazit jako ul li tagy, druhou možností je využít drupalovské funkce theme.
Ta říká, ať se zobrazí menu primárních odkazů, každý prvek li v menu bude mít třídu links a primary-links. Dále jsou zde proměnné pro zobrazení obsahu, jako například left,content,right,... Ty obstarávají samotný text uvedený v hlavních sloupcích. Do obsahové části je také možné vložit další proměnné jako title - titulek stránky, nebo breadcrumb - drobečková navigace. Ze všech těchto proměnných a funkcí můžeme poskládat celou šablonu.
Nyní Vás jistě napadne otázka, jak vlastně ovlivním vzhled například postranních modulů, nebo obsahu, když pro ně slouží pouze jediná proměnná? Pro stylování jednotlivých bloků v postranních panelech slouží soubor block.tpl.php, do kterého vkládáme objekt s názvem block. Vzhled jednoho bloku může tedy vypadat třeba takto:
Vzhled obsahové části je možné měnit v souboru node.tpl.php. V některých z předchozích článků jsme si vyvětlili co to uzly jsou, tímto souborem, můžeme měnit jejich strukturu. Do souboru node.tpl.php se opět vkládají proměnné pro zobrazení obsahu, nadpisu, tagů, datumu publikování atd. Pro verzi 6 je v souboru node.tpl.php možné použít tyto proměnné
To by bylo vše, už víme jak vytvořit základní šablonu. Samozřejmě toto jsou úplné začátky, složitější úkony si žádají složitější programování. Ale pro malé blogy toto určitě stačí.
Související články: Tvorba šablony pro Drupal I.Díl
Přidej Váš komentář
Další odkazy
Spřátelené weby
Anketa
Uživatelé na chatu
- No users online

