DrupalDay & Drupal Global Training Days - Wprowadzenie do Drupala
1. DrupalDay & Drupal Global Training Days
Podstawy systemu Drupal
Strona 1/158
2. Czym jest Drupal?
Drupal to darmowy i udostępniany jako oprogramowanie
open source system do zarządzania treścią (CMS) oraz
content management framework (CMF) napisany w języku
PHP i udostępniany na licencji GNU GPL.
Drupal i moduły to „zestaw klocków” do budowania
potrzebnych funkcjonalności. Nie znajdziesz tu gotowego
modułu np. do ogłoszeń sprzedaży samochodów, ale
będziesz mógł taką funkcjonalność łatwo zbudować.
Strona 2/158
3. Statystyki użycia Drupala (1)
….
Źródło: http://trends.builtwith.com/cms
Strona 3/158
4. Statystyki użycia Drupala (2)
….
Źródło: https://www.acquia.com/sites/default/files/attachments/drupal-govt-infographic-4.jpg
Strona 4/158
5. Instalacja Drupala (1)
Zainstaluj na swoim komputerze Apache, PHP i MySQL
●Pobierz najnowszą wersję systemu Drupal ze strony
http://drupal.org/project/drupal (na dzień 2014-02-21 jest to
wersja 7.26) i rozpakuj w katalogu Apache (www lub htdocs)
●
Strona 5/158
19. Struktura katalogów (2)
includes
●misc
●modules – moduły z rdzenia Drupala
●profiles – profile instalacyjne (domyślnie Standard i Minimal)
●scripts
●sites – w tym katalogu umieszcza się dodatkowe moduły i szablony
● all
● modules
● contrib – moduły pobrane z www.drupal.org
● custom – własne moduły dedykowane tylko do tego projektu
● universal – własne moduły przenośne między projektami
● dev – moduły developerskie, które nie będą używane na serwerze produkcyjnym
● themes
●themes – szablony (skórki) z rdzenia Drupala
●cron.php – plik uruchamiający okresowe zadania, np indeksowanie treści do wyszukiwarki,
sprawdzanie aktualizacji, itp
●index.php – główny plik
●install.php – plik instalacyjny
●update.php – uruchom ten plik po aktualizacji rdzenia Drupala lub aktualizacji modułów
●
Strona 19/158
33. Treść
●
Czym jest NODE?
● Node to pojedyńcza treść (np, jeden artykuł lub jedna strona). Drupal dodaje do każdej
takiej treści unikalny identyfikator (nid)
● Treści są podzielone na typy/rodzaje zawartości (node types). Domyślnie po instalacji
standardowego profilu w Drupalu mamy 2 rodzaje zawartości
● Article
● Basic Page
● Każdy node ma tytuł.
● W standardowym profilu instalacyjny domyślnie też jest dodawane pole z treścią
(field_body) a dla Article także pole z tagami i wysyłaniem obrazków.
Strona 33/158
34. Dodawanie pierwszej treści (node) (1)
Przejdź do strony : node/add
● Utwórz nową treść typu Article
●
Strona 34/158
38. Article vs Basic page
Article
Basic page
Promowane na stronie
głównej
Tak
Nie
Komentowanie
Włączone
Wyłączone
Wyświetlanie informacji o
dacie i autorze treści
Włączone
Wyłączone
Pola (elementy w
formularzu dodawania
treści)
Title
●Tags
●Body
●Image
●
Title
●Body
●
Strona 38/158
53. Ćwiczenie
Dodaj pola do rodzaju zawartości Samochód:
● Rozmiar silnika (field_engine_size): liczba całkowita, pole
tekstowe
● Skrzynia biegów (field_gearbox): lista wyboru, opcje: manualna,
automatyczna
● Liczba drzwi (field_door_count): lista wyboru, opcje: 2,3,4,5
Strona 53/158
55. Taxonomy (1)
●
●
●
Moduł taxonomy pozwala na kategoryzowanie treści
Struktura danych w module taxonomy
● Słownik 1 (vocabulary)
● Term 1
● Subterm A
● Subterm B
● Term 2
● Term 3
● Kraj (vocabulary country)
● Polska
● Niemcy
● Francja
● Inne
Po instalacji profilu standardowego domyślnie tworzony jest jeden słownik o nazwie
Tags, który jest powiązany polem z rodzajem zawartości Article
Strona 55/158
65. Style obrazków (1)
●
●
●
●
W rdzeń Drupala jest wbudowany moduł do manipulacji obrazkami
Można automatycznie skalować i przycinać wysyłane obrazki
Domyślnie po instalacji są w systemie 3 style obrazków
Style obrazków mogą być wykorzystywane przez inne moduły, np. Fields
Strona 65/158
73. Ćwiczenie
●
●
Dodaj nowy styl obrazka: 80x60
Ustaw go dla zdjęć w rodzaju zawartości Article, ale tylko dla wersji skróconej
(wyświetlanej na stronie głównej Drupala)
Strona 73/158
74. Użytkownicy
W Drupalu można tworzyć konta użytkowników
● Każdy użytkownik ma nazwę, e-mail oraz numeryczny
identyfikator (uid)
● Po instalacji w systemie mamy jednego użytkownika,dla
którego uid = 1, jest to główny administrator serwisu
● W Drupalu można tworzyć role (rangi) i przypisywać je do
użytkowników
● W Drupalu można przypisywać uprawnienia do ról
●
Strona 74/158
75. Użytkownicy – role - uprawnienia
Role
(anonymous, authenticated,
moderator, editor)
Użytkownicy
(admin, joe, steve)
Uprawnienia
(access user profiles,
create article content,
access comments)
Strona 75/158
76. Role (1)
●
Po instalacji w systemie są dostępne role:
● anonymous user – niezalogowany użytkownik
● authenticated user – każdy zalogowany użytkownik
● administrator
Strona 76/158
82. Ćwiczenia
●
●
●
●
Utworzyć rolę: car_moderator
Przypisać do tej roli uprawnienia tworzenia, edycji i
usuwania rodzaju zawartości Samochód (car)
Utworzyć nowego użytkownika i przypisać mu rolę
car_moderator
Przetestować logując się na konto nowego użytkownika
czy uprawnienia działają poprawnie
Strona 82/158
83. Bloki (1)
●
●
Blok w Drupalu to element, który może być umieszczony w regionie. Regionami w
większości szablonów w Drupalu są:
● Lewa i prawa kolumna
● Nagłówek
● Stopka
Domyślnie w Drupalu mamy dostępne m.in. następujące bloki
● Blok dla każdego menu
● Użytkownicy online
● Nowi użytkownicy
Strona 83/158
99. Instalacja szablonu (1)
Pobierz szablon https://drupal.org/project/marinelli i rozpakuj go do katalogu sites/all/themes
Strona 99/158
103. Czym jest Views?
Views jest kreatorem zapytań SQL, który
pozwala na utworzenie poprawnych zapytań,
wykonanie ich oraz wyświetlenie wyników
zapytania
Views może być używany do generowania
raportów, podsumowania danych, galerii zdjęć
oraz do wyświetlania innych treści. Moduł ma
bardzo duże możliwości, nie wymaga ręcznego
pisania dużych zapytań SQL.
Strona 103/158
104. Instalacja modułu
Pobierz moduł ze strony http://drupal.org/project/views
(wersja rekomendowana dla Drupala 7)
●Pobierz moduł Chaos Tools suite (ctools)
http://drupal.org/project/ctools W Drupalu 7 moduł ten
jest potrzebny do włączenia modułu Views (tej
zależności nie było w Drupalu 6)
●Rozpakuj moduły do katalogu sites/all/modules/contrib
(dobrą praktyką jest podzielić moduły z drupal.org oraz
własne i umieścić je w osobnych katalogach)
●Włącz moduł Views oraz Views UI przechodząc na
stronę admin/modules
●
Strona 104/158
105. Tworzenie prostego widoku (1)
Przygotuj testowe treści, które będą
wyświetlane w widokach:
●Utwórz 4 wpisy typu „article”
●Utwórz 4 wpisy typu „page”
●
Strona 105/158
111. Tworzenie prostego widoku (7)
Treści w widoku mogą być wyświetlane jako pola (fields)
lub jako całe wpisy (content). W przypadku cały wpisów
mamy opcje wyboru wyświetlania wersji pełnej (full node)
lub skróconej (teaser)
Strona 111/158
112. Tworzenie prostego widoku (8)
Treść może być wyświetlana w różnej formie. Moduł Views
posiada 5 formatów wyświetlania danych. Formaty te
można rozszerzać za pomocą dodatkowych modułów (np.
rozne moduły galerii dodają do tej opcji dodatkowe
formaty).
Strona 112/158
113. Tworzenie prostego widoku (9)
Obok etykiety FIELDS (POLA) jest przycisk dodawania
nowych pól. W oknie dodawania jest lista dostępnych pól
dla tego typu widoku. Lista pól jest zależna od typu widoku
wybieranego w pierwszym kroku oraz od relacji dodanych
do widoku.
Strona 113/158
115. Tworzenie prostego widoku (11)
Dla każdego pola można
zdefiniować tagi HTML oraz
nadać mu klasy CSS bez
konieczności tworzenia plików
szablonów
Strona 115/158
116. Tworzenie prostego widoku (12)
Każde pole może być
nadpisane. W opcja
nadpisywania pola można
używać wzorców podstawiania.
Wzorce podstawiania to
wszystkie pola, które znajdują
się na liście pól ponad danym
polem.
Strona 116/158
117. Tworzenie prostego widoku (13)
Po dodaniu pól można łatwo zmienić ich kolejność lub
usunąć wybrane pola korzystając z opcji „rearrange”
Strona 117/158
118. Tworzenie prostego widoku (14)
Dla każdej strony utworzonej
przez Views można ustawić
jej adres oraz umieścić ją w
menu
Strona 118/158
119. Tworzenie prostego widoku (15)
Opcje filtrowania pozwalają
zawęzić wyświetlane treści
według określonych
kryteriów, np. tylko treści
opublikowane lub tylko treści
danego typu. Filtry można
łączyć ze sobą.
Strona 119/158
120. Tworzenie prostego widoku (16)
Treści wyświetlane przez
widok mogą byś sortowane
według różnych kryteriów,
np. daty dodania, tytułu, daty
aktualizacji, liczby
komentarzy, itp..
Kryteria sortowania można
łączyć ze sobą, np. wyświetl
najpierw treści „przyklejone”
a kolejne posortuj według
daty dodania.
Strona 120/158
125. Ćwiczenia
Zmodyfikuj widok
●Dodaj pola: autor, odnośnik usuwania
●Utwórz nowy widok:
●name: Articles
●Style: HTML list
●Items per page: 10
●Pager: mini pager
●Header information: List of all story nodes
●Fields: title, publication date
●Filter:
●node type – story
●Published - yes
●Sort criteria: order by updated date (descending)
Display: Page
●Menu: User menu
●URL: articles
●
Strona 125/158
126. Bloki (1)
Moduł Views pozwala na tworzenie różnych typów
wyświetlania danych (display). Najczęściej
stosowanym typem, oprócz strony, jest blok. Po
dodaniu bloku do widoku pojawi się nowa sekcja z
ustawieniami dla bloku.
Strona 126/158
133. Widok typu Users (2)
Dodając pola do widoku typu
„Users” na liście dostępnych
pól są inne opcje niż w
przypadku widoku typu
„Content”
Strona 133/158
134. Widok typu Users (3)
Widok z listą
aktywnych
użytkowników w
postaci tabeli.
Strona 134/158
135. Widok typu Users (4)
Zapytanie SQL generujące widok
Strona 135/158
136. Widok typu Users (5)
Widok z listą aktywnych użytkowników w postaci tabeli.
Strona 136/158
137. Ćwiczenia
●
Zmodyfikuj widok z użytkownikami:
● Dodaj pole ze statusem użytkownika
(aktywny/zablokowany)
● Usuń filtr wyświetlający tylko aktywnych
użytkowników
● Dodaj filtr: wyświetl użytkowników dodanych w
ostatnich 7 dniach
Strona 137/158
144. Contextual Filteres (1)
●
●
W Drupalu 6 opcja ta była nazwana Argumenty
Filtry kontekstowe to część adresu URL, która pozwala na redukowanie listy
wyników zapytania.
Strona 144/158
145. Contextual Filteres (2)
●
●
W Drupalu 6 opcja ta była nazwana Argumenty
Filtry kontekstowe to część adresu URL, która pozwala na redukowanie listy
wyników zapytania.
Strona 145/158
150. Relationships (1)
Relacje pozwalają na łączenie dwóch lub więcej
typów danych w widoku
● Relacja dodaje do zapytania SQL komendę JOIN
● Przykład: aby wyświetlić nazwy plików zdjęć
dodanych do wpisów typu Article w widoku Articles
należy dodać relację z plikami (File)
●
Strona 150/158