Programowanie
patTemplate
Szablon dla Joomla w patTemplate | Szablon dla Joomla w patTemplate: Drugi krok |
|
|
Strona 4 z 6 Drugi krok - Przekształcenie w szablon patTemplatePrzekształcimy najpierw ten kod na poprawny kod XML. Dla czytelności wykładu podzielimy całość na części. Plik xml powinien zawierać deklarację XML, opisującą najogólniejsze cechy dokumentu, informując procesor XML, że niezbędne będzie zastosowanie parsera XML. Dodamy więc na początku linię: 001 <?xml version="1.0" encoding="iso-8859-2"?>Określiliśmy wersję XML i zdefiniowaliśmy kodowanie znaków używanych w dokumencie. Konieczna jest również Deklaracja Typu Dokumentu. Dodajemy więc: 002 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">W kolejnej linii wprowadzamy element główny - szablon patTemplate. W tym celu używamy znacznika 003 <mos:tmpl name="zwiast_demopl"> tu wstawimy wszystkie niezbedne deklaracje szablonu 205 </mos:tmpl> Wprowadźmy teraz ogólną strukturę strony. 001 <?xml version="1.0" encoding="iso-8859-2"?> 002 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 003 <mos:tmpl name="zwiast_demopl"> 004 <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" > 005 <head> 006 {HEAD} 007 <style type="text/css" media="all"> @import url("{TEMPLATEPATH}/css/template_css.css");</style> 008 </head> 009 <body> tu wstawimy tabelke 203 </body> 204 </html> 205 </mos:tmpl> 206 <!-- koniec szablonu zwiast_demopl - ⇒ W powyższym fragmencie mamy dwie zmienne: // przypisz wartosc zmiennej $head ob_start(); mosShowhead(); $head = ob_get_contents(); ob_end_clean(); // dodaj zmienna globalna $head do szablonu $tmpl->addGlobalVar('HEAD', $head); //przypisz wartosc zmiennej $templatePath $templatePath = $GLOBALS['mosConfig_live_site'] . '/templates/zwiast_demopl'; // dodaj zmienna globalna $templatePath do szablonu $tmpl->addGlobalVar('TEMPLATEPATH', $templatePath); Aby przypisać do zmiennej Wartość Dodanie zmiennej globalnej Mamy już gotową strukturę strony HTML. Dodajmy więc tabelę, a w niej jeden wiersz. Będzie to wiersz nagłówka, a zarazem pierwszy subszablon. Oto kod XML, jaki chcemy włączyć: 010 <table width="100%" {BORDER} cellspacing="0" cellpadding="0"> 011 <!-- wiersz naglowka :: szablon: header - ⇒ 012 <mos:tmpl name="header"> 013 <tr> 014 <td> 015 <!-- naglowek - ⇒ 016 <table width="100%" {BORDER} cellspacing="0" cellpadding="0"> 017 <tr> 018 <td align="center" valign="top"> 019 {HEADER} 020 </td> 021 </tr> 022 </table> 023 <!-- koniec: naglowek - ⇒ 024 </td> 025 </tr> 026 </mos:tmpl> 027 <!-- koniec: wiersz naglowka :: szablon: header - ⇒ 139 </table> Myślę, że zrozumienie tego fragmentu kodu nie powinno Ci sprawić żadnego kłopotu. Mamy tutaj fragment przedstawionego wcześniej kodu HTML, przekształcony na szablon, a dokładniej subszablon patTemplate, zapisany za pomocą kodu xml. W linii 012 umieściliśmy znany nam już znacznik początkowy - Sposób dodania zmiennej Podobnie jak wiersz nagłówka wprowadzamy do kodu pozostałe elementy tabeli, przekształcając niektóre z nich na podszablony patTemplate. Zrozumienie tej kolejnej części nie powinno sprawić żadnej trudności. Nie ma tutaj bowiem niczego nowego w porównaniu z fragmentem powyżej. Oto kod XML zawierający całą tabelę, w której będzie umieszczana zawartość serwisu. W poszczególnych wierszach i komórkach sygnalizowane wcześniej już obszary zawartości (głównej i pozycje modułów) zostały przekształcone na szablony patTemplate. Każdy ma swoją niepowtarzalną nazwę wyrażoną atrybutem 001 <?xml version="1.0" encoding="iso-8859-2"?> 002 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 003 <mos:tmpl name="zwiast_demopl"> 004 <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" > 005 <head> 006 {HEAD} 007 <style type="text/css" media="all"> @import url("{TEMPLATEPATH}/css/template_css.css");</style> 008 </head> 009 <body> 010 <table width="100%" {BORDER} cellspacing="0" cellpadding="0"> 011 <!-- wiersz naglowka :: szablon: header - ⇒ 012 <mos:tmpl name="header"> 013 <tr> 014 <td> 015 <!-- naglowek - ⇒ 016 <table width="100%" {BORDER} cellspacing="0" cellpadding="0"> 017 <tr> 018 <td align="center" valign="top"> 019 {HEADER} 020 </td> 021 </tr> 022 </table> 023 <!-- koniec naglowka - ⇒ 024 </td> 025 </tr> 026 </mos:tmpl> 027 <!-- koniec: wiersza naglowka :: szablon: header - ⇒ 028 <!-- wiersz srodkowy - ⇒ 029 <!-- szablon: user34 - ⇒ 031 <!-- wiersz z pozycjami opcjonalnymi user3 i user 4 - ⇒ 032 <!-- bedzie pokazany, gdy w jednej z tych pozycji - ⇒ 033 <!-- lub w obu pozycjach, zostanie umieszczona zawartosc - ⇒ 034 <mos:tmpl name="user34"> 035 <tr> 036 <td> 037 <!-- [user3] || [user4] - ⇒ 038 <table width="100%" {BORDER} cellspacing="0" cellpadding="0"> 039 <tr> 040 <!-- szablon: user3 - ⇒ 041 <mos:tmpl name="user3"> 042 <td align="center" valign="top"> 043 {USER3} 044 </td> 045 </mos:tmpl> 046 <!-- koniec szablonu user3 - ⇒ 047 <!-- szablon: user4 - ⇒ 048 <mos:tmpl name="user4"> 049 <td align="center" valign="top"> 050 {USER4} 051 </td> 052 </mos:tmpl> 053 <!-- koniec szablonu user4 - ⇒ 054 </tr> 055 </table> 056 </td> 057 </tr> 058 </mos:tmpl> 059 <!-- koniec: szablonu user34 - ⇒ 060 <!-- wiersz z 3 kolumnami: lewa, centralna i opcjonalnie prawa [right] - ⇒ 061 <tr> 062 <td valign="top"> 063 <!-- 3 kolumny: lewa centralna [prawa] - ⇒ 064 <table width="100%" {BORDER} cellspacing="0" cellpadding="0"> 065 <!-- lewa - ⇒ 066 <tr> 067 <td class="left" valign="top"> 068 {LEFT} 069 </td> 070 <td class="main_content" valign="top"> 071 <!-- szablon: user12 - ⇒ 072 <!-- bedzie pokazany, gdy w jednej z tych pozycji - ⇒ 073 <!-- lub w obu pozycjach, zostanie umieszczona zawartosc - ⇒ 074 <mos:tmpl name="user12"> 075 <table width="100%" {BORDER} cellspacing="0" cellpadding="0"> 076 <!-- [user1] || [user2] - ⇒ 077 <tr> 078 <!-- szablon: user1 - ⇒ 079 <mos:tmpl name="user1"> 081 <td align="center" valign="top"> 082 {USER1} 083 </td> 084 </mos:tmpl> 085 <!-- koniec szablon user1 - ⇒ 086 <!-- szablon: user2 - ⇒ 087 <mos:tmpl name="user2"> 088 <td align="center" valign="top"> 089 {USER2} 090 </td> 091 </mos:tmpl> 092 <!-- koniec szablonu user2 - ⇒ 093 </tr> 094 </table> 095 </mos:tmpl> 096 <!-- koniec szablonu user12 - ⇒ 097 <!-- tabela glownej zawartosci w centralnej czesci - ⇒ 098 <table width="100%" {BORDER} cellspacing="0" cellpadding="0"> 099 <tr> 100 <td align="left"> 101 {BODY} 102 </td> 103 </tr> 104 </table> 105 <!-- koniec tabeli centralnej - glownej zawartosci - ⇒ 106 </td> 107 <!-- koniec: komorka lewa i centralna - ⇒ 108 <!-- szablon right dla prawej kolumny - ⇒ 109 <mos:tmpl name="right"> 110 <td class="right" align="right" valign="top"> 111 {RIGHT} 112 </td> 113 </mos:tmpl> 114 <!-- koniec szablonu right dla prawej kolumny - ⇒ 115 </tr> 116 </table> 117 <!-- koniec 3 kolumn - ⇒ 118 </td> 119 </tr> 120 <!-- koniec wiersza srodkowego - ⇒ 121 <!-- wiersz stopki - ⇒ 122 <!-- szablon footer dla stopki - ⇒ 123 <mos:tmpl name="footer"> 124 <tr> 125 <td> 126 <!-- stopka - ⇒ 127 <table width="100%" {BORDER} cellspacing="0" cellpadding="0"> 128 <tr> 129 <td align="center" valign="top"> 130 {FOOTER} 131 </td> 132 </tr> 133 </table> 134 <!-- koniec footer - ⇒ 135 </td> 136 </tr> 137 </mos:tmpl> 138 <!-- koniec szablonu footer - ⇒ 139 </table> 203 </body> 204 </html> 205 </mos:tmpl> 206 <!-- koniec szablonu zwiast_demopl - ⇒ |
||||||||
| Zmieniony ( 16.02.2007. ) | ||||||||
| « poprzedni artykuł | następny artykuł » |
|---|






