Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie

1,246 views

Published on

W swojej prezentacji Piotr opowie o rozdzieleniu pracy frontend i backend developera, odseparowaniu warstw prezentacji i logiki dzięki implementacji template’ów Twig, przechowywaniu struktury motywu w bazie danych i ograniczeniu możliwości edycji stron z poziomu wp-admina, tylko do predefiniowanych fragmentów.

***

Piotr Niewiadomski podczas WordCamp Lublin 2017:
https://2017.lublin.wordcamp.org/session/obiektowe-tworzenie-motywow-z-uzyciem-silnika-szablonow-twig-w-wordpressie/

Published in: Education
  • Be the first to comment

  • Be the first to like this

Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie

  1. 1. Obiektowe tworzenie motywów z użyciem silnika szablonów Twig. Piotr Niewiadomski Senior WordPress Developer Tech Leader
  2. 2. Problemy Rozdzielenie pracy ● Frontend developer ● Backend developer Zjeść ciastko i mieć ciastko ;) Copywriter redaguje i nie psuje.
  3. 3. 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
  4. 4. Rozwiązanie = Custom development ● CC-Structures Twig bridge dla WordPress ● CC-Skeletons Predefiniowane szablony podstron dla Copywriterów bez wiedzy technicznej
  5. 5. Plugins Activation
  6. 6. 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
  7. 7. Dowolna struktura katalogów
  8. 8. Struktura motywu w bazie danych
  9. 9. Twig bridge dla WordPress
  10. 10. Trochę kodu :P
  11. 11. functions.php
  12. 12. 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
  13. 13. base.twig = Front Controller
  14. 14. single.twig = base + single
  15. 15. page.twig = base + page
  16. 16. Funkcje = analogicznie do wp core
  17. 17. base.php = Template Controller ● properties ● globals ● $wp_query->query_vars ● filter_ / action_
  18. 18. 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
  19. 19. Twig ● Zmienne / Obiekty / Funkcje {{ variable }} / {{ object.property }} / {{ func() }} ● Struktury kontrolne {% for post in loop %} {% endfor %} / {% if %} {% endif %} ● Komentarze {# comment #} ● Edytowalne tagi {@id= default content @}
  20. 20. Podsumowanie Rozdzielenie pracy ● Frontend developer ● Backend developer ● Copywriter
  21. 21. Na zakończenie = dla kogo? NIE! ● Sprzedaż motywów ● Outsourcing TAK! ● Własne projekty ● Projekty z supportem
  22. 22. Niespodzianka
  23. 23. Poszukujemy developerów! p.niewiadomski@clearcode.cc clearcode.cc Dziękuję za uwagę

×