CTools és Panels pluginok Wittmann Balázs Ádám Drupal fejlesztő KYbest
2013, November 16.
Elérhetőségek
Előadás diák http://kybest.hu/hu/blog
Forráskódok https://github.com/whitelikeman/ctools_plugin_examples.git
Chaos tool suite (CTools)
● ● ● ● ● ●
Plugins Exportables AJAX responder Form tools Modal dialog Page Manager ...
CTools pluginok
1
Miről van szó? Mire jó ez? Alkalmazási lehetőségek?
Miért szeretjük a Drupalt?
Core
Module
Module
Module
Module
Module
Nem elég rugalmas a contrib
?
Lehetőségek
0. A contrib módosítása ...
1. Feature request
Lécci !
Lécci
Lécci !!
Lécci !!! Lécci Lécci !!!
Lécci ! Lécci Lécci Lécci !
2. Saját megoldás
Megoldás a rugalmatlanságra Flexibilis(ebb) modul A CTools ehhez ad egy eszközt.
CTools plugin rendszer A modulok a pluginok által, kvázi saját hook függvényeket definiálhatnak.
Nincs feltétlenül szükség a CTools-ra Viszont ha már egyszer van egy jó megoldás akkor miért ne használjuk azt?
Modul + plugin = moduláris modul
Module
Plugin
Plugin
Plugin
Plugin
Plugin
Hogyan működik?
Plugin elérési útvonal megadása - 1
Plugin elérési útvonal megadása - 2
A plugin strukúrája
Példa One click modul Egy olyan modul, ami hasznos(nak vélt) operációkat hajt végre egyetlen kattintással (na jó kettővel). A modul önmagában egyetlen operációval rendelkezik mégpedig egy Goto nevezetűvel, ami azt jelenti hogy a felhasználó egy beviteli mező segítségével közvetlenül az adott node-ra ugorhat. Mivel a modul a CTools plugin rendszerét használja, ezért további operációkal bővíthető.
Ugrás a megadott node-ra
Új plugin: node törlése
Kik használnak CTools pluginokat?
● ● ● ● ● ●
CTools Panels Entity reference Views Bulk Operations (VBO) Feeds ...
CTools és Panels pluginok
2
Content type, Access, Layout és Style pluginok
Szükséges előismeretek Page manager https://drupal.org/project/ctools
Panels https://drupal.org/project/panels
Learn Page manager! http://nodeone.se/en/node/21
Demó oldal
Pluginok elérési útvonala
Mappa struktúra A plugin definíciós fájlok tetszőleges helyen és tetszőleges mappastruktúrában elhelyezhetőek. Akár a smink könyvtárán belül is, például layout és style pluginok esetében.
Plugin felépítése
Content type plugin Mire használható? Egyedi tartalmak elhelyezésére az oldalak különböző régióiban.
Példa: Last updated by content type plugin Jelenítsük meg a node oldalán annak a felhasználónak a nevét, aki legutoljára módosította annak tartalmát.
Tartalom hozzáadása
Plugin kiválasztása
Beállítások mentése
Egyedi tartalom blokk
Access plugin Mire használható? Oldalelemek egyedi hozzáférés szabályozására.
Példa: Node editor access plugin A korábban elkészített Last updated by tartalom blokkunkat csak azoknak a felhasználóknak jelenítsük meg, akiknek van a node-hoz szerkesztési jogosultságuk. Opcionálisan beállítható legyen, hogy a legutolsó szerkesztő ne láthassa a blokkot.
Láthatósági szabály megadása
Plugin kiválasztása
Beállítások mentése
Kontextus függő hozzáférés sandbox-admin
sandbox-editor
Style plugin Mire használható? Az oldal régióinak, vagy a régióban levő tartalom blokkoknak (pane-eknek) valamilyen egyedi stílus szerinti megjelenítésére.
Példa: Collapsible style plugin A demó oldal jobb oldali régióját tegyük összecsukhatóvá. Opcionálisan beállítható legyen, hogy a régió tartalma alapértelmezetten nyitott vagy csukott állapotban jelenjene meg.
Stílus megváltoztatása
Plugin kiválasztása
Beállítások mentése
Összecsukható régió
Layout plugin Mire használható? Egyedi oldalelrendezések kialakítására.
Példa: Summary layout plugin Szabjuk át egy kicsit a demó oldal struktúráját!
Plugin kiválasztása
Az új régiók feltöltése
A végeredmény
További információk és példák CTools plugins system http://ygerasimov.com/ctools-plugins-system
A CTools saját oktató modulja Chaos Tools (CTools) Plugin Example
Tanulmányozásra ctools/plugins, panels/plugins
Konklúzió
Legózni jó!
Köszönöm a figyelmet!
[email protected]