Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Intro to Craft

Intro to Craft

Interested in breaking out of your boring old CMS? Craft CMS offers all of the functionality of the major content management systems without the technical debt. Learn why now is the time for Craft, along with all of the fundamentals you'll need to get started.

19cacb8c05a7ff1cc02a32d819e2a100?s=128

Philip Zaengle

April 29, 2016
Tweet

Transcript

  1. A N I N T R O T O

  2. M Y N A M E I S P H

    I L I P Z A E N G L E I C O D E A N D D O B U S I N E S S I N G T H I N G $ Z A E N G L E . C O M / @ Z A E N G L E S L I D E S B Y D E R E K N E L S O N ^
  3. L E T S T A L K A B

    O U T C R A F T C M S
  4. W H A T I S C R A F

    T ? 41
  5. Craft is a general-purpose CMS designed to do one thing

    really well: manage content. “ P I X E L A N D T O N I C B U I L D E R S O F C R A F T C M S
  6. C R A F T I S B U I

    L T O N • PHP 5.3.0+ • Yii framework • Twig template engine • Developed, maintained by Pixel & Tonic and sold >
  7. $299.00 C O M M E R C I A

    L
  8. O M G O S H !

  9. $299.00 C O M M E R C I A

    L • $100 x 3hrs = $300 • Staff support! • Case studies!! • Full time staff!!!
  10. C O N S I D E R A T

    I O N S • Speed to deployment • Feature fit
  11. Craft is like WordPress if it was stripped naked and

    then clothed in Advanced Custom Fields. “ M E G A N Z L O C K F R O N T - E N D D E V E L O P E R / V I G E T
  12. W H Y

  13. C R A F T F O R A U

    T H O R S • Fully responsive 
 control panel • Content preview • Drafts / change notes • Highly intuitive
  14. C R A F T F O R D E

    S I G N E R S • Complete front-end control • Editorial content simplified • Complex content modeling • Designers can {{code}} • Pretty intuitive
  15. • Twig • Documented API • Architecture
 (and lot’s of

    it) • Mostly intuitive • And more: localization,
 cloud asset storage, 
 user permissioning C R A F T F O R D E V E L O P E R S
  16. T W I G W H A T ! ?

  17. {# I’m a comment #} {{ variableName }} {% set

    variableName = “Phil Zaengle” %} T W I G 1 0 1
  18. {{ variableName | upper }} {% for var in arrayVar

    %} {{ var }} {% endfor %} T W I G 1 0 2
  19. {% set next = “Let’s Build” %} {% for i

    in 0..10 %} {{ i }} - {{ next | upper }} {% endfor %} T W I G 2 0 0
  20. T i t l e B o d y C

    o n t e n t e n t r y . t i t l e e n t r y . b o d y L E T ’ S B U I L D A P A G E
  21. N O W D O I T . / /

  22. None
  23. C O N T E N T D E S

    I G N C O N T E N T M O D E L C O D E > > >
  24. Title { Content {

  25. Header / Title { Body Content { Quote Block {

    Body Content { Code Example { Body Content { Code Example {
  26. T i t l e I n t r o

    H e r o I m a g e E d i t o r i a l C o n t e n t - > S l i d e s h o w - > B o d y - > P u l l Q u o t e - > B l o g R e l a t i o n s h i p e n t r y . t i t l e e n t r y . i n t r o e n t r y . h e r o I m a g e e n t r y . m a t r i x - > m a t r i x . s l i d e s h o w - > m a t r i x . b o d y - > m a t r i x . q u o t e - > m a t r i x . b l o g s L E T ’ S B U I L D B L O G
  27. craft.entries .section(‘blog’) .limit(10) .before(2012) .offset(2) .order(‘dateCreated desc’) C R A

    F T T W I G
  28. {% set entries = craft.entries.section(‘blog’) %} {% for entry in

    entries %} <h1> {{ entry.title }} </h1> {% endfor %} C R A F T T W I G
  29. {% paginate craft.entries.section(‘blog’) as page, entries %} {% for entry

    in entries %} <h1> {{ entry.title }} </h1> {% endfor %} C R A F T T W I G
  30. N O W D O I T . / /

  31. None
  32. full localization user accounts robust api growing community J U

    S T S T A R T I N G
  33. philip@zaengle.com T H A N K S ! @zaengle

  34. None