Historia wymaga pasterzy, nie rzeźników.

CSS jest wartościowym dodatkiem do większości zastosowań WWW, ponieważ stanowi on system
szablonów dla HTML. Wykorzystując CSS, można zmienić atrybuty wszystkich elementów HTML. Na przykład można tak zdefiniować znacznik <h3>, aby w kontekście tej witryny wyglądał w określony sposób. Na wydrukach 14.4. i 14.5. pokazany jest wygląd komercyjnego edytora CSS o nazwie TopStyle z firmy Bradbury Software LLC ( http://www.bradsoft.com/). Edytor ten upraszcza proces tworzenia plików CSS oraz pozwala na podgląd zmienionych stylów.
179
PHP – Kompendium wiedzy

Rysunek 14.4.
Arkusz stylu
pokazujący
możliwość
modyfikacji
znaczników
<body>, <td> i
<h3>

Rysunek 14.5.
Inny arkusz stylu
pokazujący
możliwość
modyfikacji
znaczników
<body>, <td> i
<h3>
Użycie CSS wraz z systemem szablonów zwiększa możliwość wprowadzania zmian do wyglądu witryny
minimalizując konieczność wprowadzania zmian do kodu aplikacji. Pliki CSS mogą być nawet dołączane dynamicznie, w postaci zmiennej szablonu. Mimo, że nie jest to optymalne rozwiązanie dla wszystkich typów witryn, pozwala zrealizować kolejny poziom konfiguracji wyglądu tworzonej aplikacji.
Rozdział 14 – Witryny oparte o szablony
180

Poprzedni przykład stanowi podstawowy szkielet dla tworzenia aplikacji WWW opartej o szablony.
Jednak nie zostały tu pokazane przykłady tworzenia powtarzających się elementów. Często zachodzi potrzeba stworzenia tabeli zawierającej wszystkie towary, lub listę kategorii zapisanych w bazie danych.
Kolejny przykład pokazuje, w jaki sposób można dołączyć powtarzające się elementy, korzystając z klasy FastTemplate. Wydruk 14.9. zawiera główny plik szablonu. Wydruk 14.10. to zawartość szablonu items, natomiast wydruk 14.11. szablon pojedynczego elementu. Na wydruku 14.12 znajduje się skrypt łączący te szablony w całość.
Wydruk 14.9. Główny szablon kategorii
<html>
<head>
<title>{TITLE}</title>
</head>
<body>
{ITEMS}
</body>
</html>
Wydruk 14.10. Szablon kategorii ‘items’
Do wyboru są następujące kategorie produktów:
<ul>
{ITEM_LIST}
</ul>
Wydruk 14.11. Szablon dla pojedynczej kategorii
<li><a href="show_category.phtml?cat_id={CAT_ID}">{CAT_NAME}</a></li> Wydruk 14.12. Skrypt generujący stronę z listą kategorii
<?php
include( "class.FastTemplate.php" );

$aTPL = new FastTemplate( "." );
$aTPL->define( array( 'base' => 'cat_base.tpl',
'items' => 'cat_items.tpl',
'item' => 'cat_item.tpl' ) );

$aCategories = array( "ubrania", "prezenty", "zabawki", "książki" ); foreach( $aCategories as $aID => $aName )
{
$aTPL->assign( array( 'CAT_ID' => $aID,
'CAT_NAME' => $aName ) );

// analiza elementu i jego dołączenie do zmiennej szablonu
// ITEM_LIST
$aTPL->parse( 'ITEM_LIST', '.item' );
}

$aTPL->assign( array( 'TITLE' => 'Lista kategorii' ) );
$aTPL->parse( 'ITEMS', 'items' );
$aTPL->parse( 'BASE', 'base' );
$aTPL->FastPrint( 'BASE' );
?>
Rysunek 14.6. Lista
kategorii

Przedstawiony przykład zawiera wbudowaną listę kategorii w celu wygenerowania strony z listą kategorii.
Wynik działania skryptu przedstawiony jest na rysunku 14.6. Po raz kolejny załóżmy, że dział projektowy zdecydował się na zmianę formatu listy kategorii z listy wypunktowanej na tabelę. Zmiany są ograniczone jedynie do plików items i item. Wykorzystując poprzedni przykład zmienione szablony przedstawione są na wydrukach 13. i 14. Efekt końcowy pokazany jest na rysunku 14.7.
181
PHP – Kompendium wiedzy

Wydruk 14.13. Nowy szablon „items”
Do wyboru są następujące kategorie produktów:
<br><br>
<table border="1">
{ITEM_LIST}
</table>
Wydruk 14.14. Nowy szablon „item”
<tr>
<td>
Kategoria nr. {CAT_ID}
</td>
<td>

Podstrony