SlideShare a Scribd company logo
1 of 25
Download to read offline
Obiektowe tworzenie
motywów z użyciem
silnika szablonów
Twig.
Piotr Niewiadomski
Senior WordPress Developer
Tech Leader
Problemy
Rozdzielenie pracy
● Frontend developer
● Backend developer
Zjeść ciastko i mieć ciastko ;)
Copywriter redaguje i nie psuje.
Research = Jak to robią “więksi”?
● MVC (Model View Controller)
Odseparowanie warstw prezentacji i logiki
● DRY (Don’t Repeat Yourself)
Zastosowanie Front Controller
● Controllers
Selektywne ładowanie logiki
● Twig
Prosty silnik do tworzenia szablonów
Rozwiązanie = Custom development
● CC-Structures
Twig bridge dla WordPress
● CC-Skeletons
Predefiniowane szablony podstron dla
Copywriterów bez wiedzy technicznej
Plugins Activation
CC-Structures
● Pozwala na stworzenie dowolnej struktury
plików i katalogów motywu
● Pozwala na przechowywanie struktur HTML
motywu zgodnych z WordPress Template
Hierarchy w bazie danych
● Dodaje wsparcie dla obsługi silnika
szablonów Twig
● Dodaje możliwość wydzielenia logiki aplikacji
do selektywnie ładowanych kontrolerów
Dowolna struktura katalogów
Struktura motywu w bazie danych
Twig bridge dla WordPress
Trochę kodu :P
functions.php
theme.php = Theme Controller
● rejestrujemy menu
● rejestrujemy sidebary
● rejestrujemy widgety
● custom post types
● custom fields
● self::get
● self::__
● self::apply_filters
● filter_ / action_
● activation / deactivation
base.twig = Front Controller
single.twig = base + single
page.twig = base + page
Funkcje = analogicznie do wp core
base.php = Template Controller
● properties
● globals
● $wp_query->query_vars
● filter_ / action_
CC-Skeletons
● Pozwala na tworzenie predefiniowanych
szablonów podstron dla Copywriterów
bez wiedzy technicznej z wydzielonymi
miejscami do wprowadzania treści
Po co?
● Żeby nie zaburzyli struktury dokumentu
● Żeby nie tworzyć ręcznie widoków
Twig
● Zmienne / Obiekty / Funkcje
{{ variable }} / {{ object.property }} / {{ func() }}
● Struktury kontrolne
{% for post in loop %} {% endfor %} / {% if %} {% endif %}
● Komentarze
{# comment #}
● Edytowalne tagi
{@id= default content @}
Podsumowanie
Rozdzielenie pracy
● Frontend developer
● Backend developer
● Copywriter
Na zakończenie = dla kogo?
NIE!
● Sprzedaż motywów
● Outsourcing
TAK!
● Własne projekty
● Projekty z supportem
Niespodzianka
Poszukujemy developerów!
p.niewiadomski@clearcode.cc
clearcode.cc
Dziękuję za
uwagę

More Related Content

Similar to WordCamp Lublin 2017

Bohater UI bez front end developera ?
Bohater UI bez front end developera ?Bohater UI bez front end developera ?
Bohater UI bez front end developera ?Quick-Solution
 
Podstawy Asp.Net Mvc 1.0 W 3600 Sekund
Podstawy Asp.Net Mvc 1.0 W 3600 SekundPodstawy Asp.Net Mvc 1.0 W 3600 Sekund
Podstawy Asp.Net Mvc 1.0 W 3600 Sekundemdzej
 
Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]Droptica
 
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Grzegorz Bartman
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.jsWojciech Kaniuka
 
Wzorce projektowe w Magento
Wzorce projektowe w MagentoWzorce projektowe w Magento
Wzorce projektowe w MagentoDivante
 
Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?Tomasz Dziuda
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
PIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress FrameworkPIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress FrameworkSzymon Kapturkiewicz
 
PIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress FrameworkPIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress FrameworkInterSynergy
 
PSD2WP: kodowanie dedykowanych motywów dla WordPressa w modelu komponentowym
PSD2WP: kodowanie dedykowanych motywów dla WordPressa w modelu komponentowymPSD2WP: kodowanie dedykowanych motywów dla WordPressa w modelu komponentowym
PSD2WP: kodowanie dedykowanych motywów dla WordPressa w modelu komponentowymKrzysztof Łęcki
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Mateusz Paprocki, PMP
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Grzegorz Bartman
 
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVCQuick-Solution
 
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalistyMySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalistyWydawnictwo Helion
 

Similar to WordCamp Lublin 2017 (20)

Bohater UI bez front end developera ?
Bohater UI bez front end developera ?Bohater UI bez front end developera ?
Bohater UI bez front end developera ?
 
Wordpress dla każdego
Wordpress dla każdegoWordpress dla każdego
Wordpress dla każdego
 
Podstawy Asp.Net Mvc 1.0 W 3600 Sekund
Podstawy Asp.Net Mvc 1.0 W 3600 SekundPodstawy Asp.Net Mvc 1.0 W 3600 Sekund
Podstawy Asp.Net Mvc 1.0 W 3600 Sekund
 
Olga Żądło - Robot Framework
Olga Żądło - Robot FrameworkOlga Żądło - Robot Framework
Olga Żądło - Robot Framework
 
Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]
 
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
 
Wzorce projektowe w Magento
Wzorce projektowe w MagentoWzorce projektowe w Magento
Wzorce projektowe w Magento
 
Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?Jak tworzyć motywy przyjazne użytkownikom i programistom?
Jak tworzyć motywy przyjazne użytkownikom i programistom?
 
Podstawy ETL z SSIS
Podstawy ETL z SSISPodstawy ETL z SSIS
Podstawy ETL z SSIS
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
PIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress FrameworkPIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress Framework
 
PIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress FrameworkPIKLIST - Rapid WordPress Framework
PIKLIST - Rapid WordPress Framework
 
PSD2WP: kodowanie dedykowanych motywów dla WordPressa w modelu komponentowym
PSD2WP: kodowanie dedykowanych motywów dla WordPressa w modelu komponentowymPSD2WP: kodowanie dedykowanych motywów dla WordPressa w modelu komponentowym
PSD2WP: kodowanie dedykowanych motywów dla WordPressa w modelu komponentowym
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015
 
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
 
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalistyMySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
 

WordCamp Lublin 2017