Własna szata graficzna SYSTEM SZABLONÓW TYPO3



Podobne dokumenty
TemplaVoilà alternatywne podejście do szablonów. TemplaVoilà. alternatywne podejście do szablonów

Zasady tworzenia podstron

Bloguj w serwisie TYPO3 TIMTAB

Nowy szablon stron pracowników ZUT

2 Podstawy tworzenia stron internetowych

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

CMS Admin instrukcja administratora

REFERAT O PRACY DYPLOMOWEJ

Laboratorium 6 Tworzenie bloga w Zend Framework

Laboratorium 7 Blog: dodawanie i edycja wpisów

Instrukcja obsługi systemu zarządzania treścią dwajeden.pl

Poradnik obsługi systemu zarządzania treścią (CMS) Concrete5. Moduły i bloki

5.4. Tworzymy formularze

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

Edytor materiału nauczania

Aplikacje WWW - laboratorium

CMS - INFORMACJE. *** Mirosław Kuduk E mail: tel. kom DODATKOWE FUNKCJE - PANEL ADMINISTRATORA

Instrukcja obsługi DHL KONWERTER 1.6

Ogranicz listę klasyfikacji budżetowych do powiązanych z danym kontem księgowym

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

1. Przypisy, indeks i spisy.

Przewodnik... Tworzenie Landing Page

Institution data management

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Instrukcja obsługi certyfikatów w programie pocztowym MS Outlook Express 5.x/6.x

Poradnik obsługi systemu zarządzania treścią (CMS) Concrete5. Moduły i bloki

darmowy autoresponder?

Pomoc dla systemu WordPress

Dokumentacja Użytkownika Systemu

Instrukcja obsługi Multiconverter 2.0

Komponent Formularz. Rys. 1. Strona programu Joomla - Rys. 2. Instalacja komponentu

CMS- kontakty (mapa)

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

2.5 Dzielenie się wiedzą

Laboratorium 1: Szablon strony w HTML5

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów

Ćwiczenie 4 Konspekt numerowany

System Obsługi Zleceń

INSTRUKCJA zakładania konta w Społecznoś ci CEO

Instrukcja użytkownika Porównywarki cen Liquid

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

Instrukcja użytkownika. Panel Administratora CreamCRM

Własna strona WWW w oparciu o CMS

Backend Administratora

Automatyzowanie zadan przy uz yciu makr języka Visual Basic

PTI S1 Tabele. Tabele. Tabele

DODAJEMY TREŚĆ DO STRONY

Instalacja systemu zarządzania treścią (CMS): Joomla

SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS

1. Logowanie się do panelu Adminitracyjnego

MySource Matrix CMS. Prosty Interfejs Użytkownika INSTRUKCJA wersja 1.3 POLAND AUSTRALIA UNITED KINGDOM NEW ZEALAND UNITED STATES

Oracle Application Express

SPIS TREŚCI. Sposób pierwszy... 3 Sposób drugi Ikony banków Ikony dostawców Strona1

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Wikispaces materiały szkoleniowe

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Dodawanie i modyfikacja atrybutów zbioru

Modele danych walidacja widoki zorientowane na model

Zadanie 9. Projektowanie stron dokumentu

Tworzenie prezentacji multimedialnej Microsoft PowerPoint

Zmiana logo. Dziękujemy za wybór naszych rozwiązań. apjoo od Apláuz. Wspólnie przebrniemy przez proces konfiguracji strony www i wstawiania treści.

Edycja szablonu artykułu do czasopisma

Aby przejść do edycji w tym module należy wybrać zakładkę "Dla Pracowników" -> "Sprawdziany".

Jak zainstalować szablon allegro?

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu.

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Instrukcja tworzenia strony internetowej w serwisie twojobiekt.pl

Lab.1. Praca z tekstem: stosowanie arkuszy stylów w dokumentach OO oraz HTML/CSS

Każde menu jest połączone z modułem, którym zarządza się w menedżerze modułów. Cztery dostępne menu widać na pasku Menu (rysunek 4.38).

Kadry Optivum, Płace Optivum

Jak poruszać się po TwinSpace

System imed24 Instrukcja Moduł Analizy i raporty

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH

Facelets ViewHandler

Ustalanie dostępu do plików - Windows XP Home/Professional

Instrukcja obsługi uczelnianego systemu zarządzania stronami internetowymi (CMS)

Aplikacja Dodatkowe zakładki Shoper Appstore REALIZACJA

UONET+ moduł Dziennik. Praca z rozkładami materiału nauczania

Finanse VULCAN. Jak wprowadzić fakturę sprzedaży?

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

coago Optymalizacja cache w TYPO3 Krystian Szymukowicz (krystian@typo3.pl)

Spis treści. Rozdział 2. Graficzna oprawa witryny...z Stosowanie motywu...s...s.. 19

6. Formularze tabelaryczne, obiekty nawigacji - rozgałęzienia

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Laboratorium 1 Wprowadzenie do PHP

edycja szablonu za pomocą programu NVU

SYSTEM ZARZĄDZANIA RELACJAMI Z KLIENTEM CRM7

Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik

timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Tworzenie kampanii mailowych. Tworzenie kampanii mailowych.

TYPO3 może być proste. Spojrzenie edytora. Krystian Szymukowicz

Baza danych. Program: Access 2007

Jak stworzyć własny blog w kreatorze Click Web?

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych.

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Pokaz slajdów na stronie internetowej

Transkrypt:

Własna szata graficzna SYSTEM SZABLONÓW TYPO3

Dla kogo jest ta prezentacja Niniejsza prezentacja omawia podstawy wdrażania szablonów w TYPO3. Prezentacja przeznaczona jest dla osób rozpoczynających naukę TYPO3, nie omawia ona zaawansowanych technik (możliwe jest rozwinięcie użytych przykładów na podstawie oryginalnej dokumentacji TSref). Jest to niejako plan minimum wymagany do zobaczenia we własnym serwisie czegoś więcej niż napis HELLO WORLD! Zakładam, że słuchacz posiada podstawowe umiejętności tworzenia struktury serwisu oraz dodawania elementów treści, dzięki czemu będzie w stanie zweryfikować poprawność swojego kodu szablonu TS.

Słowem wstępu W przeciwieństwie do wielu prostych i/lub szeroko stosowanych systemów CMS, TYPO3 nie słynie z dostępności na rynku gotowych szablonów graficznych. Wynika to przede wszystkim z faktu, że TYPO3 nie posiada predefiniowanej struktury początkowej (co zapisujemy in plus) ani narzuconych rozwiązań dla pozornie typowych zadań. Ostatecznie rzekomy brak szablonów dla TYPO3 to niska cena w odniesieniu do skalowalności systemu.

Wiele znanych serwisów i firm sprzedających lub udostępniających za darmo gotowe szablony graficzne oferuje produkty predefiniowane dla różnych systemów CMS, blogów, etc., ale próżno szukać tam zakładki TYPO3. Czy to znaczy, że jestem skazany na drogie studia graficzne albo niewielki wybór firm specjalizujących się w szablonach dla mojego systemu? TYPO3 Profiled Każdy szablon stworzony zgodnie ze sztuką webmasterską* jesteś w stanie przypiąć w krótkim czasie do swojego wdrożenia. Dotyczy to zarówno szablonów stricte HTML owych, jak również odmian wyłącznie FLASH owych (także sterowanych via XML) oraz oczywiście wszelkich możliwych kombinacji tych i innych technologii web.

Co istotne dostosowanie każdego kolejnego szablonu do danego serwisu staje się jeszcze łatwiejsze, gdyż najczęściej oznacza jedynie modyfikację pliku HTML w celu dodania znaczników marks oraz subparts i ewentualnie drobne zmiany w nazwach klas (oczywiście przy założeniu, że oba szablony zostały skontruowane za pomocą zbieżnych technik. Najważniejsze jest jednak, że każdy nawet początkujący integrator systemu zauważy spore zbieżności pomiędzy różnymi szablonami, co pozwoli mu na utworzenie własnego, modelowego szablonu TS, którego dostosowanie nawet w obrębie różnych wdrożeń TYPO3 ograniczy się do drobnych modyfikacji i usprawnień.

Własne szablony w TYPO3 SZABLON HTML I ###ZNACZNIKI###

Czym jest szablon? W TYPO3 pojęcie szablon odnosi się do kilku typów obiektów, są to między innymi (dla nas najbardziej interesujące): Szablon HTML, który jest plikiem HTML, zwykłą statyczną stroną zawierającą w swoim kodzie znaczniki, które wskazują systemowi w którym miejscu ma nastapic dopięcie dynamicznej treści oraz w jaki sposób ma to być wykonane. Szablon TS jest rekordem systemu w bazie danych w którym za pomocą języka TypoScript konfigurujesz zachowanie systemu a także określasz sposób wykorzystania szablonu HTML i zawartych w nim znaczników. Istnieje także pojęcie szablon serwisu, w którego skład wchodzą struktura stron, szablon graficzny, preinstalowane rozszerzenia oraz korespondujący TyPoScript, jednak w tej prezentacji nie będziemy tego tematu poruszać.

Znaczniki w plikach HTML Znaczniki w pliku szablonu HTML umieszczasz w miejscach gdzie ma zostać wstawiona (marks) lub zastąpiona oryginalna zawartość (subparts) Nazwa znacznika to dowolny łańcuch otoczony potrójnym hashem: ###MOJ_ZNACZNIK### Chociaż nie ma znaczenia jakiej użyjesz wielkości liter istotne jest abyś odwołując się do znacznika z poziomu szablonu TS użył dokładnie tego samego zapisu. HTML ###MOJ_ZNACZNIK### ###mojznacznik### ###Moj-ZnaCZnik### TypoScript marks.moj_znacznik marks.mojznacznik marks.moj-znacznik

Dwa typy znaczników Istnieją dwa typy znaczników: marks i subparts i w obu przypadkach stosuje się identyczny sposób ich tworzenia czyli ###ZNACZNIK_123###. marks stosuje się pojedynczo ###KIEDY### bez komentarzy HTML. TypoScript: temp.mojszablon.marks.kiedy = TEXT temp.mojszablon.marks.kiedy.value = (najczęściej) <!-- ###OPIS_SUBPARTS### Początek mojego subparta--> subparts stosowane parami obejmują blok do zastąpienia (początek/koniec) zawsze w komentarzu HTML. <!-- ###OPIS_SUBPARTS### Koniec --> TypoScript: temp.mojszablon.subparts.opis_subparts = TEXT temp.mojszablon.subparts.opis_subparts.value = Pamiętaj: Subparts BEZ komentarzy!

Znaczniki typu marks marks używasz pojedynczo w miejscu gdzie ma zostać wstawiony wygenerowany kod. Żadna treść pliku HTML nie zostanie usunięta ani zastąpiona: <div id="left_menu"> <h3>ten Tytuł NIE zostanie usunięty... </h3> ###LEFT_MENU_CONTENT### </div> marks NIE powinno używać się w komentarzu HTML, gdyż system nie usunie tego komentarza, czyniąc wyrenderowaną treść niewidoczną na stronie: <!-- ###AUTOR_ARTYKULU### --> Pojawi się w kodzie HTML jako: <! Marcus Biesioroff @ TYPO3 Społeczność Polska -->

Znaczniki typu subparts subparts służą do obejmowania fragmentów kodu HTML, który ma być zastąpiony. subparts stosuje się parami, a same znaczniki zawsze obejmuje się komentarzem HTML wg schematu: <!-- ###nazwa_znacznika### komentarz --> {fragment kodu HTML, który zostanie zastąpiony} <!-- ###nazwa_znacznika### komentarz --> Nie ma znaczenia jakiego komentarza użyjesz obok nazwy subpartu, ma on ułatwić Tobie pracę podczas edycji szablonu HTML i finalnie zawsze jest usuwany (nie pojawia się nigdy w wyrenderowanej stronie). Domyślnie opisuje się w komentarzu początek i koniec sekcji subpart.

Który typ wybrać Nie ma znaczenia, czy będziesz używał znaczników typu marks w pustych warstwach, czy też użyjesz subparts do podmiany przykładowego kodu. Domyślnie za pomocą subparts łatwiej edytować szablon jeśli masz przykładową treść widoczną podczas pracy w edytorze HTML (np. wielopoziomowe menu składające się z hierarchii list wypunktowanych): <div id= menu-lewe"> <!-- ###MenuLewe### Początek subpartu --> <ul class="poziom_1"> <li><a href="#">pozycja 1.1</a></li> <li><a href="#">pozycja 1.2</a></li> <li><ul class="poziom_2 > <li><a href="#">pozycja 2.1</a></li> </ul></li> </ul> <!-- ###MenuLewe### Koniec tego fragmentu--> </div> Dla porównania, konstrukcja z użyciem znacznika typu marks <div id= menu-lewe"> ###MenuLewe### </div>

Który typ wybrać Z drugiej strony nie ma sensu używania subparts, jeśli zamierzasz jedynie wstawić tekst w określonym miejscu: <div id="footer"> ###TEKST_STOPKI### </div> Ostatecznie po zakończeniu prac nad wyglądem szablonu zawsze możesz pozmieniać sekcje subparts na marks i odwrotnie

WYMAGANY subpart TYPO3 automatycznie tworzy szkielet strony HTML z prawidłową deklaracją typu dokumentu oraz sekcjami <html>, <head> i pustą <body>. Z własnego szablonu chcemy więc wykorzystać TYLKO zawartość naszej sekcji <body>. Aby to osiągnąć obejmij wnętrze sekcji body własnym (głównym) subpartsem a potem wykorzystaj jego nazwę w zmiennej workonsubpart obiektu typu TEMPLATE w swoim szablonie TS. <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>plik statyczny</title> </head> temp.mojszablon.workonsubpart = MOJ_GLOWNY_SUBPART <body> <!-- ###MOJ_GLOWNY_SUBPART### Początek --> {...Pozostały kod HTML szablonu. subpart główny go nie zastępuje a jedynie określa jego granice!} <!-- ###MOJ_GLOWNY_SUBPART### Koniec --> </body> </html>

Własne szablony w TYPO3 SZABLON TYPOSCRIPT (TS)

Co to jest szablon TS? Szablon TS, jest rekordem systemu w bazie danych w którym konfigurujesz podstawowe właściwości danej części lub całości wdrożenia. (formularz ogólny właściwości szablonu TS) Za pomocą kodu TypoScript określasz sposób renderowania strony frontowej a także sposób wykorzystania szablonu HTML oraz zawartych w nim znaczników. Rekord szablonu TS może również posłużyć do spięcia innych szablonów TS (np. dedykowanych konkretnym rozszerzeniom) za pomocą opcji dołączania szablonów.

Szablon TS Skoro omówiliśmy szablon HTML czas wskazać jak go użyć w TYPO3. Użyj narzędzia Web > Szablon i wybierz stronę na której chcesz utworzyć nowy szablon (zakładam, że serwis lub przynajmniej jego część nie zawiera jeszcze szablonu a wskazana strona jest początkiem danej części) NO TEMPLATE, no problem. Kliknij Create template for new site. (Nie wybieraj żadnych gotowców, zależy nam na pustym szablonie) Po pojawieniu się tabeli własciwości szablonu kliknij link: Click here to edit whole template record

Szablon TS Właściwości Na zakładce Ogólne wpisz nazwę szablonu oraz tytuł serwisu (zostanie użyty jako początek tytułu strony w przeglądarce) Na zakładce Opcje włącz czyszczenie Constants i Setup, żeby pozbyć się naleciałości z poprzednich części. Włącz też RootLevel to oznacza, że wszystko jest niejako wyzerowane od tego miejsca w dół drzewa. Na zakładce Dołączaj dołącz statyczny TS z rozszerzenia: CSS Styled Content dostarcza wielu predefiniowanych cobject ów do renderowania treści na stronie frontowej.

Szablon TS SETUP, fragment config Wróć na zakładkę Ogólne i wykorzystaj pole Setup do konfiguracji systemu. Poniżej dość typowy kod, możesz go po prostu użyć i/lub zmodyfikować zgodnie z dokumentację TSref: config{ simulatestaticdocuments = 0 baseurl = http://twoja-domena.loc/ admpanel = 0 metacharset = utf-8 doctype = xhtml_trans xmlprologue = none disableprefixcomment = 1 htmltag_langkey = pl language = pl locale_all = pl_pl }

Szablon TS cobject predefiniowane obiekty Dzięki dołączeniu CSS Styled Content bez dodatkowych zabiegów mamy utworzone cobject y reprezentujące 4 domyślne kolumny: Nazwa: styles.content.get styles.content.getleft styles.content.getright styles.content.getborder Zawartość: kolumna normalna kolumna lewa kolumna prawa kolumna boczna

Szablon TS cobject - HMENU -Podstawowe menu Wykorzystaj dokumentację TSref do rozbudowania tego przykładu menu: temp.mojemenulewe = HMENU temp.mojemenulewe { entrylevel = 1 1 = TMENU 1 { wrap = <ul class="lvl-1"> </ul> NO{ wrapitemandsub = <li> </li> } ACT <.NO ACT.ATagParams = class="act" ACT = 1 } Zwróć uwagę na to, że poziomy menu dziedziczą z poziomu 1 a potem zmieniają tylko przypisaną do <ul> klasę CSS. Zamiast tego możesz w pełni opisać każdy poziom (tak jak poziom 1) wymuszając również inne zmiany } 2 <.1 2.wrap = <ul class="lvl-2"> </ul> 3 <.1 3.wrap = <ul class="lvl-3"> </ul> Skorzystaj z TSref żeby zapoznać się z pełnymi możliwościami konfiguracji menu.

Szablon TS cobject - TEMPLATE Skoro mamy już stworzone cobjecty dla potrzebnych elementów zawartości czas stworzyć cobject typu TEMPLATE, w którym zaimportujemy nasz plik HTML oraz przypiszemy dynamiczną zawartość do jego znaczników (marks i subparts) temp.maintemplate = TEMPLATE temp.maintemplate{ template = FILE template.file = fileadmin/katalog/plik.html workonsubpart = MOJ_GLOWNY_SUBPART marks { KOLUMNA_NORMALNA < styles.content.get KOLUMNA_LEWA < styles.content.getleft KOLUMNA_PRAWA < styles.content.getright } } subparts { MENU_LEWE < temp.mojemenulewe }

Szablon TS cobject - PAGE Ostatnią rzeczą do umieszczenia w polu Setup jest deklaracja cobjectu typu PAGE, zaimportowanie w nim naszego pliku CSS (page.includecss) i przypisanie wcześniej utworzonego obiektu TEMPLATE page = PAGE page { //teoretycznie poniższa wartość nie jest wymagana, ale jej brak przypomni o sobie, gdy dodasz inne cobjecty typu PAGE typenum = 0 includecss{ file1 = fileadmin/katalog/styl.css file1.title = Styl główny file1.media = screen } 10 < temp.maintemplate }

Własne szablony w TYPO3 PODSUMOWANIE

Schemat blokowy procedury 1. Utwórz statyczny szablon HTML (HTML+CSS) 1. Umieść w nim swoje znaczniki marks / subparts 2. Utwórz szablon TS 1. Ustaw właściwości szablonu TS (formularz właściwości) 1. Zakładka Ogólne: Nazwa, tytuł 2. Zakładka Opcje: zaznacz czyszczenie Setup i Constants oraz RootLevel 3. Zakładka Dołączaj: Dołącz statyczny z rozszerzenia CSS Styled Content 3. Stwórz kod TypoScript (w polu Setup) 1. Dla sekcji config (skopiuj i popraw gotowca) 2. Dla obiektu TEMPLATE 1. Okreśł typ: template = FILE 2. Określ lokalizację pliku HTML 3. Określ nazwę głównego znacznika dla całego <body> 4. Przypisz odpowiednią zawartość do znaczników marks i subparts 3. Dla obiektu PAGE 1. typenum = 0 2. includecss { } 3. Przypisz obiekt template do obiektu page (np. page.10)

Częste błędy Jeśli po (teoretycznie) poprawnym napisaniu kodu TypoScript na stronie głównej nic się nie pojawia (jest cała pusta) może to wskazywać, na: Brak obiektu TEMPLATE Błąd w ścieżce do pliku HTML w obiekcie TEMPLATE Brak przypisania obiektu TEMPLATE do obiektu PAGE Możesz się również natknąć na komunikat błędu: Error! The page is not configured! [type= 0][] To oznacza, że nie utworzyłeś obiektu PAGE o numerze typenum = 0. Jest to typ domyślny i wymagany do wyświetlania zwykłej strony (bez parametru w linku &type=x)

Marek Krawczyk TYPO3 Społeczność Polska DZIĘKUJĘ ZA UWAGĘ