Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Dr inż. Piotr Czapiewski. Moduły, komponenty, pluginy.

Podobne prezentacje


Prezentacja na temat: "Dr inż. Piotr Czapiewski. Moduły, komponenty, pluginy."— Zapis prezentacji:

1 dr inż. Piotr Czapiewski

2 Moduły, komponenty, pluginy

3 Szablony Forma prezentacji (układ strony, style, kolorystyka) Moduły i komponenty Dodatkowa funkcjonalność (zaawansowane menu, sondy, fora, galerie, itp.) Moduł – wyświetlanie Komponent – zarządzanie zawartością Pluginy Najbardziej zaawansowana forma rozszerzenia Joomla! Najniższa warstwa systemu, kontrola podstawowych funkcji

4 Joomla! Extensions Directory 24 kategorie rozszerzeń + podkategorie Najpopularniejsze rozszerzenia Najlepiej oceniane

5 Kopie zapasowe i migracja JoomlaPack Zarządzanie użytkownikami Community Builder E-commerce VirtueMart – ogólny sklep internetowy Rozwiązania dla konkretnych produktów, np. samochody, nieruchomości Obsługa płatności, subskrypcji, obsługa koszyka, aukcje… Galerie zdjęć i filmów Expose Flash Gallery Edytory JCE, XHTMLSuite in2it, CrossContent, JoomlaFCK Editor Wspomaganie zarządzania treścią SectionEx Mapy stron Zarządzanie plikami joomlaXplorer Remository Zarządzanie projektami, praca grupowa, kalendarze…

6 Kopie zapasowe oraz migracja witryny

7 Narzędzie do tworzenia kopii zapasowych witryn oraz ich odtwarzania Automatyczny backup w postaci pojedynczego archiwum ZIP Zawartość bazy danych Struktura plików Technologia AJAX Zmniejszenie liczby błędów związanych z opóźnieniem w komunikacji Możliwość stworzenia instalatora Instalacja na serwerze, gdzie nie ma jeszcze Joomla! Kopiowanie na serwer tylko archiwum ZIP i pojedynczego pliku PHP Podział zadania na mniejsze etapy ułatwia backup dużych witryn

8 Zastosowania Kopie zapasowe Klonowanie witryn Migracja witryny Stworzenie witryny wzorcowej Lokalne testowanie nowych wersji Lokalne debugowanie Etapy działania Inicjalizacja Zrzut bazy danych Pakowanie plików Finalizacja

9 Instalacja Standardowo: Rozszerzenia->Instalator Po zainstalowaniu pojawia się nowe menu: Komponenty->JoomlaPack

10

11 Podstawowe Katalogi: wyjściowy i tymczasowy Nazwa pliku wyjściowego Poziom logowania Zaawansowane Kompatybilność ze starszą wersją MySQL, algorytmy kompresji, itp. Zmieniać tylko wówczas, gdy przy parametrach domyślnych backup się nie powiedzie Frontend Możliwość wywołania backupu automatycznie (np. z użyciem cron, wget) Numeryczne Parametry Magiczne Nazwa mówi wszystko… Ruszać tylko w razie absolutnej konieczności…

12 Podstawowe Katalogi: wyjściowy i tymczasowy Nazwa pliku wyjściowego Poziom logowania Zaawansowane Kompatybilność ze starszą wersją MySQL, algorytmy kompresji, itp. Zmieniać tylko wówczas, gdy przy parametrach domyślnych backup się nie powiedzie Frontend Możliwość wywołania backupu automatycznie (np. z użyciem cron, wget) Numeryczne Parametry Magiczne Nazwa mówi wszystko… Ruszać tylko w razie absolutnej konieczności…

13 Podstawowe Katalogi: wyjściowy i tymczasowy Nazwa pliku wyjściowego Poziom logowania Zaawansowane Kompatybilność ze starszą wersją MySQL, algorytmy kompresji, itp. Zmieniać tylko wówczas, gdy przy parametrach domyślnych backup się nie powiedzie Frontend Możliwość wywołania backupu automatycznie (np. z użyciem cron, wget) Numeryczne Parametry Magiczne Nazwa mówi wszystko… Ruszać tylko w razie absolutnej konieczności…

14 Podstawowe Katalogi: wyjściowy i tymczasowy Nazwa pliku wyjściowego Poziom logowania Zaawansowane Kompatybilność ze starszą wersją MySQL, algorytmy kompresji, itp. Zmieniać tylko wówczas, gdy przy parametrach domyślnych backup się nie powiedzie Frontend Możliwość wywołania backupu automatycznie (np. z użyciem cron, wget) Numeryczne Parametry Magiczne Nazwa mówi wszystko… Ruszać tylko w razie absolutnej konieczności…

15 Podstawowe Katalogi: wyjściowy i tymczasowy Nazwa pliku wyjściowego Poziom logowania Zaawansowane Kompatybilność ze starszą wersją MySQL, algorytmy kompresji, itp. Zmieniać tylko wówczas, gdy przy parametrach domyślnych backup się nie powiedzie Frontend Możliwość wywołania backupu automatycznie (np. z użyciem cron, wget) Numeryczne Parametry Magiczne Nazwa mówi wszystko… Ruszać tylko w razie absolutnej konieczności…

16 Wykonanie kopii Backup Now / Twórz kopię zapasową

17 Wykonanie kopii Backup Now / Twórz kopię zapasową Kopiuj swoją stronę internetową Pełna kopia witryny, baza danych + pliki Kopiuj swoją bazę danych Kopia samej bazy danych, do zaimportowania np. przez phpMyAdmin

18 Postęp procesu…

19 …gotowe.

20 Zarządzanie plikami kopii Manage Backup Files Pobieranie lub usuwanie archiwum z kopią

21 Zawartość archiwum Instalator zbliżony do instalatora Joomla

22 Przywracanie kopii zapasowej Metoda 1 Rozpakowanie archiwum z kopią Wgranie na serwer Uruchomienie instalatora Metoda 2 Wgranie na serwer archiwum ZIP oraz pliku kickstart.php kickstart.php znajduje się w archiwum kickstart_1.2.2.zip, pobranym wraz z pakietem instalacyjnym JoomlaPack Uruchomienie pliku kikstart.php Skrypt rozpakuje archiwum i uruchomi instalator

23 Przykład Zapisano archiwum z kopią witryny: site-localhost zip Katalog, w którym ma się znaleźć kopia witryny: c:\xampplite\htdocs\joomla5 Do powyższego katalogu kopiujemy pliki: site-localhost zip kickstart.php Uruchamiamy skrypt kickstart.php wchodząc na adres:

24 Uruchomienie kickstart.php Wybór archiwum do zainstalowania

25 Uruchomienie kickstart.php Postęp rozpakowywania

26 Uruchomienie kickstart.php Rozpakowywanie zakończone

27 Uruchomienie instalatora Nie zamykaj okna przeglądarki Kliknij na linku

28 Instalator kopii zapasowej Kroki takie same, jak przy instalacji Joomla!

29 Instalator kopii zapasowej Kluczowy moment: konfiguracja bazy danych

30 Instalator kopii zapasowej Ponowne ustawienie hasła administratora Joomla!

31 Instalator kopii zapasowej Porządki…

32 Moduł sklepu internetowego

33 Sklep internetowy Plugin do Joomla! realizujący pełną funkcjonalność sklepu internetowego Zarządzanie kontami użytkowników (adresy dostawy, historia zakupów, itd.) Potwierdzanie zakupów przez Bezpieczne połączenie przez SSL Obsługa płatności i wysyłki Rozszerzalny za pomocą pluginów

34 Katalog produktów Organizacja produktów w kategorie Możliwość użycia jako katalog, bez funkcjonalności sklepu Ocena produktów przez użytkowników

35 Joomla! z preinstalowanym i skonfigurowanym sklepem VirtueMart Downloads, VirtueMart eCommerce Bundle (w. Joomla! 1.5.8) Polska wersja Polskie centrum VirtueMart Spolszczenia samego VirtueMart Specjalna wersja eCommerce Bundle PL [Jarzębina]

36 Panel administracyjny polskiej wersji VirtueMart

37

38 Nazwa szablonu – bez spacji i znaków specjalnych Katalogi szablonu [joomla]/templates/nazwa_szablonu/ [joomla]/templates/nazwa_szablonu/CSS/ [joomla]/templates/nazwa_szablonu/images/ Podstawowe pliki szablonu index.php – główny plik szablonu; układ i logika strony templateDetails.xml – plik z metadanymi template.css – główny arkusz CSS template_thumbnail.png – podgląd szablonu

39 Zawartość pliku templateDetails.xml Nazwa szablonu, opis, autor, wersja, data utworzenia Informacja dla instalatora – lista plików szablonu SzablonTestowy 04 June 2008 Jan Kowalski GNU/GPL Przykładowy szablon index.php css/template.css SzablonTestowy 04 June 2008 Jan Kowalski GNU/GPL Przykładowy szablon SzablonTestowy 04 June 2008 Jan Kowalski GNU/GPL Przykładowy szablon index.php css/template.css index.php css/template.css

40 Główny (i jedyny wymagany) plik szablonu – index.php Mieszanka HTML i PHP Określenie struktury strony, wyświetlanie modułów i komponentów, układ strony Wywołanie funkcji Joomla Framework Logika strony, zachowanie, funkcje JavaScript

41 Typowy układ strony nagłówek szukaj ścieżka nawigacji (breadcrumbs) lewe menuczęść głównaprawe menu stopka

42 Najprostsza zawartość pliku index.php header search breadcrumbs left_menu main right_menu footer header search breadcrumbs left_menu main right_menu footer

43 Wywołanie metod klasy JDocument Obiekt jdoc, wywołanie metody: Dodawanie nagłówka Dodawanie modułów Dodawanie komponentu głównego

44 Funkcja wyświetlająca moduł: Nazwa odpowiada pozycji modułu top, left, user1, user2, user3 Styl określa sposób opakowania kodu HTML modułu Nie determinuje dokładnego sposobu formatowania, dopiero CSS wprowadza właściwe formatowanie Dostępne style: table – moduł wyświetlany w tabeli horz – moduł wyświetlany horyzontalnie, w komórce otaczającej tabeli xhtml – moduł wyświetlany wewnątrz elementu div rounded – przystosowanie do wyświetlania zaokrąglonych narożników none – brak dodatkowego formatowania modułu

45

46 table – moduł wyświetlany w tabeli

47 horz – moduł wyświetlany w zagnieżdżonej tabeli

48 xhtml – moduł wyświetlany wewnątrz elementu div

49 rounded – przystosowanie do wyświetlania zaokrąglonych narożników

50

51 Oprócz dyrektywy jdoc:include w pliku index.php można wykorzystywać dowolne funkcje PHP, w tym funkcje udostępniane przez Joomla Framework Przykłady: $this – bieżący obiekt, w przypadku szablonu – obiekt klasy JDocumentHTML language; ?> Inne dostępne pola: template, title, description, link

52 Przydatne metody klasy JDocumentHTML: $this->countModules(user1); $this->countModules(user1 + user2); Przykład: sprawdź, czy w górnej części strony znajdują się jakieś moduły jeśli tak – wyświetl moduły; jeśli nie – wyświetl obrazek countModules('top')) : ?> countModules('top')) : ?>

53 Definicja parametrów – plik templateDetails.xml Wartości parametrów – plik params.ini Dostęp do parametrów z poziomu kodu: $this->params->get('nazwaParametru') hide show

54 Zabezpieczenie szablonu przed wywołaniem z zewnątrz (nie za pośrednictwem Joomla!) defined(_JEXEC) or die(No access available); Powyższy kod należy umieszczać zawsze przed kodem wykonywalnym, np. na początku pliku index.php

55 Dodanie odwołania standardowego arkusza CSS (zdefiniowanego przez Joomla!): Dodanie odwołania do arkusza CSS szablonu: lub bardziej uniwersalnie: template ?> /css/template.css" type="text/css" />

56 Do przygotowania arkusza CSS konieczna jest znajomość nazw stylów/klas stosowanych przez główny komponent oraz moduły Joomla Przykładowe style: article_separator, author, componentheading, contentpane, module, sectiontableentry, sectiontablefooter, title, … Definiujemy tylko te style, które są nam potrzebne Lista wszystkich stylów pliki przykładowych szablonów

57 Narzędzie pomocne w identyfikacji właściwych stylów CSSViewer – wtyczka do przeglądarki Firefox https://addons.mozilla.org/pl/firefox/addon/2104

58 Przygotowanie szablonu do dystrybucji Pakowanie Plik templateDetails.xml musi zawierać listę wszystkich plików szablonu Katalog szablonu pakujemy do pliku.zip Instalacja Standardowo, z poziomu panelu administracyjnego Joomla: Rozszerzenia Instalator index.php css/template.css images/logo.jpg index.php css/template.css images/logo.jpg

59 Szablony dla wersji 1.0 i 1.5 nie są ze sobą kompatybilne Dwie możliwości: Użycie szablonu przez włączenie trybu legacy Konwersja szablonu do wersji 1.5

60 Zmiany konieczne w pliku index.php: Joomla 1.0Joomla 1.5 _VALID_MOS_JEXEC $mosConfig_absolute_path$this->baseUrl $mosConfig_live_site$mainframe->getCfg( 'live_site' ) Stałe łańcuchy tekstowe echo 'Hello' Wywołania funkcji – wsparcie dla wielu wersji językowych echo JText::_( 'Hello' ) mosGetParam $id = mosGetParam( $_REQUEST, 'id', 0 ); JRequest::getVar $id = JRequest::getVar( 'id', 0 ); mosShowHead() mosMainBody() mosLoadModules($position_name, $style);

61 Odpowiedniki stylu wyświetlania modułu: Zmiany w templateDetails.xml Joomla 1.0Joomla rounded -2xhtml none 0table

62 Materiały dotyczące budowy szablonów D. Rahmel, Professional Joomla!, Wrox 2007 T. B. Silver, Joomla! Template Design, Packt Publishing 2007

63 Programowanie modułów

64 Najprostszy moduł – Hello World Przygotuj katalog dla modułu: mod_helloworld Stwórz główny plik modułu: mod_helloworld.php

65 Najprostszy moduł – Hello World Stwórz plik deskryptora modułu: mod_helloworld.xml Hello World Jan Kowalski Listopad 2008 (C) 2008 Jan Kowalski GNU/GPL Moduł Hello World mod_helloworld.php Hello World Jan Kowalski Listopad 2008 (C) 2008 Jan Kowalski GNU/GPL Moduł Hello World mod_helloworld.php

66 Instalacja modułu Hello World Moduł musi zostać zarejestrowany w Joomla! Konieczne jest spakowanie plików modułu do archiwum ZIP i zainstalowanie przez panel administracyjny Spakuj katalog mod_helloworld do archiwum mod_helloworld.zip Zainstaluj moduł przez panel administracyjny (Rozszerzenia->Instalator) Umieść moduł na pozycji top (Rozszerzenia->Moduły->Nowy->Hello World, Pozycja=top)

67 Moduł Hello World widoczny na stronie głównej witryny

68 Modul bash.org.pl Jan Kowalski Listopad 2008 (C) 2008 Jan Kowalski GNU/GPL Moduł wyświetlający najnowszy wpis ze strony bash.org.pl mod_bash.php Modul bash.org.pl Jan Kowalski Listopad 2008 (C) 2008 Jan Kowalski GNU/GPL Moduł wyświetlający najnowszy wpis ze strony bash.org.pl mod_bash.php

69

70

71 Modul Dilbert Jan Kowalski Listopad 2008 (C) 2008 Jan Kowalski GNU/GPL Moduł wyświetlający najnowszy komiks ze strony dilbert.com mod_dilbert.php Modul Dilbert Jan Kowalski Listopad 2008 (C) 2008 Jan Kowalski GNU/GPL Moduł wyświetlający najnowszy komiks ze strony dilbert.com mod_dilbert.php

72 .*? '; echo $img; ?>

73


Pobierz ppt "Dr inż. Piotr Czapiewski. Moduły, komponenty, pluginy."

Podobne prezentacje


Reklamy Google