Poutníkem tvorby šablon
Specializuji se na programovací jazyk CSS - Cascading Style Sheets, který je nezbytné znát při tvorbě šablon pro redakční systémy. U Drupalu je zapotřebí znát i programovací jazyk PHP, abyste mohli správně vytvářet různé PHP vsuvky do šablony.
Vzhledem k tomu, že já sám neumím programovací jazyk PHP, byl jsem nucen prozkoumávat různé šablony, abych věděl jak některé PHP vsuvky zapisovat. Sepsal jsem právě proto těchto pár poznámek.
Nezoufejte, s tímto zápisníkem není potřeba znát programovací jazyk PHP.
Z čeho se skládá šablona
Nezbytnou součástí šablony jsou tyto soubory:
page.tpl.php - kostra stránek
node.tpl.php - ovlivňuj zobrazení článků. Většinou je ve všech šablonách stejné.
*.info - v tomto typu souboru jsou informace o šabloně
screenshot.png - náhled šablony. Velikost obrázku 150x90.
Další součásti, které nejsou vyžadovány, najdete na adrese drupal.org/node/190815
Co se nachází v souborech *.info
; $Id:nazevsouboru.info,v 1.0 2009/10/06 05:50:50 autor Exp $ name = Název šablony description = Popis. version = Verze core = 6.x engine = phptemplate
Kostra page.tpl.php
Jedna z možných podob souboru:
<?php // $Id: page.tpl.php,v 1.18.2.1 2009/04/30 00:13:31 goba Exp $ ?><!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="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>"> <head> <?php print $head ?> - <title><?php print $head_title ?></title> <?php print $styles ?> <?php print $scripts ?> </head> <body> <!--Začátek Layoutu --> <div class="layout"> <!--Zde přijde obsah Layoutu, viz dále --> </div> <!-- / Konec layoutu --> <?php print $closure ?> </body> </html>
Na konci layoutu musí být vždy <?php print $closure ?>.
Příklady, jak definovat prvky do kostry layoutu
Název stránek „klikatelný"
{syntaxhighlighter brush: php} <?php if ($site_name) { ?>" title="<?php print t('Home') ?>"><?php print $site_name ?>
<?php } ?> {/syntaxhighlighter}Název stránek „standard"
{syntaxhighlighter brush: php} <?php if ($site_name) { ?><?php print $site_name ?>
<?php } ?> {/syntaxhighlighter}Popis stránek
{syntaxhighlighter brush: php} <?php if ($site_slogan) { ?>Definovaní možnosti změny loga stránek s administrace
{syntaxhighlighter brush: php} <?php if ($logo) { ?>" title="<?php print t('Home') ?>">" alt="<?php print t('Home') ?>" /><?php } ?> {/syntaxhighlighter}Hlavička
<?php print $header ?>
Patička
<?php print $footer_message . $footer ?>
nebo
Copyright © <?php print date('Y') ?> <a href="/"><?php print $site_name ?></a>. <?php print $footer_message ?>
Levý sloupec
<?php if ($left): ?> <div class="layout_left"> <?php print $left ?> </div> <?php endif; ?>
Pravý sloupec
<?php if ($right): ?> <div class="layout_right"> <?php print $right ?> </div> <?php endif; ?>
Sloupec, ve kterém se mění obsah Drupalu
{syntaxhighlighter brush: php}<?php print $title ?>
- Titulek stránkyDalší prvky šablony
Vyhledávání
<?php if ($search_box): ?><div class="název třídy"><?php print $search_box ?></div><?php endif; ?>
Drobečková navigace
<?php print $breadcrumb; ?>
RSS zdroj
<?php print $feed_icons; ?>
node.tpl.php
Ovlivňuje zobrazení článků. Většinou je ve všech šablonách stejné.
{syntaxhighlighter brush: php} <?php // $Id: node.tpl.php,v 1.5 2007/10/11 09:51:29 goba Exp $ ?>" title="<?php print $title ?>"><?php print $title ?>
<?php endif; ?> <?php if ($submitted): ?> <?php print $submitted; ?> <?php endif; ?>comment.tpl.php
Ovlivňuje zobrazení komentářů. Pomocí tohoto způsobu se vám budou zobrazovat avatary uživatelů u komentáře. Po zapnutí funkce v šabloně.
{syntaxhighlighter brush: php} <?php // $Id: comment.tpl.php,v 1.7 2008/01/04 19:24:23 goba Exp $ ?><?php print $title; ?>
<?php if ($new != '') { ?><?php print $new; ?><?php } ?>Závěrem
Doufám že vám bude tento rychlý přehled při tvorbě šablon nějak užitečný.
Rovněž bych vám chtěl doporučit knížku od Jan Polzera, Drupal podrobný průvodce tvorbou a správou webů.
Redakční poznámka: Miroslav Špaňko je jeden z vás, čtenářů Maxiorla. Výše uvedené poznámky nejsou kompletní, postupem času zjistíte, že řadu věcí je možné řešit i jinak - jednodušeji nebo složitěji. Tak či tak autorovi článku děkuji a myslím si, že pro úplné začátečníky, kteří chtějí v Drupalu vytvořit šablony, by tento článek mohl být inspirací. Článek je uveden bez obsahových úprav.
Máte-li nějaké doplnění, nebojte se jej napsat do komentářů.
Jan Polzer
Děkuji za další kvalitní článek, který rozhodně hodně pomohl nejenom mě :)