Use WordPress as a CMSUse WordPress as a CMS
withwith
Pods CMSPods CMS
FrameworkFramework
by Tom Hermansby Tom Hermans
Tom HermansTom Hermans
I'm @tomhermans on Twitter
Designer/Developer/WP
Freelance & Contract
www.tomhermans.com
HanneHanne
& Kaat& Kaat
Is WP a CMS ?Is WP a CMS ?
ContentContent
ManagementManagement
SystemSystem
Yes, WP = CMSYes, WP = CMS
Good at PublishingGood at Publishing
Easy InterfaceEasy Interface
Powerful ThemingPowerful Them...
No CMSNo CMS
!Backend UI Customization!Backend UI Customization
Same Post TypesSame Post Types
Custom Fields ComplexityCus...
WordPressWordPress
Content ?Content ?
ContentContent
Posts
Pages
Comments
Media
Links
Multiple PossibilitiesMultiple Possibilities
Custom FieldsCustom Fields
Custom Post TypesCustom Post Types
Plugins..Plugin...
PODS ?PODS ?
WTF ?
SimpleSimple
ScalableScalable
CMSCMS
FlexibleFlexible
ConnectiveConnective
FrontEnd + BackEndFrontEnd + BackEnd
Customizab...
POD =POD =
Piece Of DataPiece Of Data
Build Your OwnBuild Your Own
Content TypeContent Type
PodsCMSPodsCMS
Why ?Why ?
●
Sorting, Filtering,
Relating Data
●
Easier for Clients
● Better than Custom
Fields
●
More options than
Custom...
Ski regionSki region
●
Ski Villages
●
Number of Slopes
●
Number of Lifts
●
Geo-Location
●
Hotels
●
Weather Info
●
Picture(...
PodsCMS InstallPodsCMS Install
Download plugin atDownload plugin at
podscms.org orpodscms.org or
wordpress.org/extend/word...
How does it workHow does it work
MVC-likeMVC-like
Controller : PodsCMSController : PodsCMS
Model : TemplatesModel : Templa...
Get StartedGet Started
1 Setup1 Setup
2 Manage Content2 Manage Content
3 Package Manager3 Package Manager
4 Menu Editor4 M...
Setup : Start to PodSetup : Start to Pod
●
Pods
● Templates
●
Pages
●
Helpers
●
Roles
● Settings
1 Setup : Create Pod1 Setup : Create Pod
●
Add New Pod
● Name
●
Columns
●
Pod Labels
●
Helpers
1 Setup: POD1 Setup: POD
● Create DB Fields
●
Top Level Menu
●
site.tld/label
● site.tld/label/*
●
Helpers
Pod = Group of
...
Closer Look SetupCloser Look Setup
Pod ColumnsPod Columns
●
Machine name (db)
lowercase
●
Label
● Column type
●
Attributes
●
Helpers
● Comment
●
...
Field TypesField Types
●
Date (w/ datepicker)
● Number
● Boolean (checkbox)
●
Single Line Text
● Paragraph Text (Multiline...
Pick FieldsPick Fields
Relate a Pod
● to another Pod
●
to a Page
●
to a Post
●
to a User
● to a Taxonomy
= very powerful !
PagesPages
Retrieve Data ?
●
Pod Page
●
WP Page Template
●
Shortcode
Pod PagePod Page
● Edit in Pods Admin
●
Supports Wildcard URLs.
● Pod Page “events” = list of events
●
Pod Page “events/*”...
Pod Page CodePod Page Code
●
Define Pods Object
● findRecords (SQL)
●
showTemplate/loop
●
Pagination
●
Precode
● Link to T...
Pod Page Code Up ClosePod Page Code Up Close
WP Page TemplateWP Page Template
●
WP Theme file
● PHP
●
WP template tags
●
Pod Class
●
findRecords
● showTemplate or
cust...
WP Page CloserWP Page Closer
Use Pods ShortcodeUse Pods Shortcode
●
Simple syntax to
include Pod Data
●
Display That Many
Pod-items in that
Order
●
Tem...
TemplatesTemplates
●
Display Output
● HTML
●
Magic Tags
●
PHP
●
Loop-like
More Template CodeMore Template Code
●
$this->get_field('skidorp.name')
●
$this->get_field
('pickcolumn.columnname');
●
{@...
ExamplesExamples
Detail PagesDetail Pages
// pull URL segment
$slug =
pods_url_variable('last');
// pass slug as parameter
when defining Po...
Example Detail PageExample Detail Page
Example Detail PageExample Detail Page
HelpersHelpers
Manipulate DB DataManipulate DB Data
at Inputat Input
at Displayat Display
at Saveat Save
Uses of HelpersUses of Helpers
●
Format Date (dd-mm-yy)
● Radio / Checkbox Fields
●
Rounding Numbers
●
Edit Value before S...
Manage ContentManage Content
Browse/edit all the content inBrowse/edit all the content in
the Pods database tables.the Pod...
Manage ContentManage Content
Edit ContentEdit Content
Example Pick FieldsExample Pick Fields
PackagesPackages
Built in import/export systemBuilt in import/export system
PackagesPackages
●
Import
● Export
●
Pods
●
Pages
●
Templates
● Helpers
PackagesPackages
●
Import/Export
● Pods
●
Templates
●
Pod Pages
●
Helpers
● Repository on
podscms.org
Pods UIPods UI
Develop pluginsDevelop plugins
that look like WP's ownthat look like WP's own
Pods UIPods UI
●
Develop Custom Backends
for Various Users
●
Extremely Powerful
with Role Managers
● PHP + WP Template Tag...
Pods UIPods UI
Pods UI : ManagePods UI : Manage
Pods UI : EditPods UI : Edit
Pods UI PossibilitiesPods UI Possibilities
Which Fields Can They See ?Which Fields Can They See ?
Which Fields Are Editabl...
Pods UI + RolesPods UI + Roles
Combine this withCombine this with
A Role Manager Plugin*A Role Manager Plugin*
=> Mega Pow...
Pods UI : Short HowtoPods UI : Short Howto
Fire Up PodFire Up Pod
Define Edit/Add FieldsDefine Edit/Add Fields
pods_ui_man...
BenefitsBenefits
●
Seperate Tables
● Performance
●
Ease of Use
Pro / ContraPro / Contra
●
Separate Tables >
No WP Functions
(comments/akismet)
● Smaller Community
●
UI (but wait for 2.0...
Pods 2.0 ?Pods 2.0 ?
●
More Functions
● Better Interface
●
Easier to Use
●
More Styling Options
●
Also for non-developers
...
Pods AddonsPods Addons
●
Packages
● Helpers
●
CSV Importer
● C-Gen
●
PodsCMS Widgets
●
Pods SEO Titles
●
...
More ?More ?
PublicFormsPublicForms
PodsAPIPodsAPI
SQLSQL
Tutorials & HelpTutorials & Help
●
podscms.org
● ui.podscms.org
●
mondaybynoon.com
test
Tom HermansTom Hermans
●
www.tomhermans.com
● @tomhermans
●
tom@tomhermans.com
Thank you.Thank you.
PodsCMS Framework by Tom Hermans (WordCampNL)
Upcoming SlideShare
Loading in...5
×

PodsCMS Framework by Tom Hermans (WordCampNL)

2,958

Published on

Presentation on annual WordCampNL on how to use WordPress as a CMS with PodsCMS.

Contact me for more info or consulting.

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
  • 介紹 PodsCMS Framework,簡明扼要,很清楚。喜歡那個 MVC-like 的設計,也發覺要善用 Pick Fields,就能妥善處理 WordPress 內建的其他 Post、Page、User,還有 Taxonomy。

    搭配 Ultimate Taxonomy Manager,會是不錯的組合。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,958
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

PodsCMS Framework by Tom Hermans (WordCampNL)

  1. 1. Use WordPress as a CMSUse WordPress as a CMS withwith Pods CMSPods CMS FrameworkFramework by Tom Hermansby Tom Hermans
  2. 2. Tom HermansTom Hermans I'm @tomhermans on Twitter Designer/Developer/WP Freelance & Contract www.tomhermans.com
  3. 3. HanneHanne & Kaat& Kaat
  4. 4. Is WP a CMS ?Is WP a CMS ? ContentContent ManagementManagement SystemSystem
  5. 5. Yes, WP = CMSYes, WP = CMS Good at PublishingGood at Publishing Easy InterfaceEasy Interface Powerful ThemingPowerful Theming WYSIWYGWYSIWYG Flexibility : Post MetaFlexibility : Post Meta
  6. 6. No CMSNo CMS !Backend UI Customization!Backend UI Customization Same Post TypesSame Post Types Custom Fields ComplexityCustom Fields Complexity ““Just another WP Blog”Just another WP Blog”
  7. 7. WordPressWordPress Content ?Content ?
  8. 8. ContentContent Posts Pages Comments Media Links
  9. 9. Multiple PossibilitiesMultiple Possibilities Custom FieldsCustom Fields Custom Post TypesCustom Post Types Plugins..Plugins.. PodsCMSPodsCMS
  10. 10. PODS ?PODS ? WTF ?
  11. 11. SimpleSimple ScalableScalable CMSCMS FlexibleFlexible ConnectiveConnective FrontEnd + BackEndFrontEnd + BackEnd Customizable UICustomizable UI
  12. 12. POD =POD = Piece Of DataPiece Of Data
  13. 13. Build Your OwnBuild Your Own Content TypeContent Type PodsCMSPodsCMS
  14. 14. Why ?Why ? ● Sorting, Filtering, Relating Data ● Easier for Clients ● Better than Custom Fields ● More options than Custom Post Type
  15. 15. Ski regionSki region ● Ski Villages ● Number of Slopes ● Number of Lifts ● Geo-Location ● Hotels ● Weather Info ● Picture(s) ● Etc.. etc...
  16. 16. PodsCMS InstallPodsCMS Install Download plugin atDownload plugin at podscms.org orpodscms.org or wordpress.org/extend/wordpress.org/extend/
  17. 17. How does it workHow does it work MVC-likeMVC-like Controller : PodsCMSController : PodsCMS Model : TemplatesModel : Templates View : PagesView : Pages
  18. 18. Get StartedGet Started 1 Setup1 Setup 2 Manage Content2 Manage Content 3 Package Manager3 Package Manager 4 Menu Editor4 Menu Editor (deprecated)(deprecated) 5 Add Pod Item5 Add Pod Item
  19. 19. Setup : Start to PodSetup : Start to Pod ● Pods ● Templates ● Pages ● Helpers ● Roles ● Settings
  20. 20. 1 Setup : Create Pod1 Setup : Create Pod ● Add New Pod ● Name ● Columns ● Pod Labels ● Helpers
  21. 21. 1 Setup: POD1 Setup: POD ● Create DB Fields ● Top Level Menu ● site.tld/label ● site.tld/label/* ● Helpers Pod = Group of Input Fields Pod = Group of Input Fields
  22. 22. Closer Look SetupCloser Look Setup
  23. 23. Pod ColumnsPod Columns ● Machine name (db) lowercase ● Label ● Column type ● Attributes ● Helpers ● Comment ● ...
  24. 24. Field TypesField Types ● Date (w/ datepicker) ● Number ● Boolean (checkbox) ● Single Line Text ● Paragraph Text (Multiline, HTML) ● Code (Multiline) ● File Upload (WP Lib) ● Permalink (slug, auto) ● Relationship (pick)
  25. 25. Pick FieldsPick Fields Relate a Pod ● to another Pod ● to a Page ● to a Post ● to a User ● to a Taxonomy = very powerful !
  26. 26. PagesPages Retrieve Data ? ● Pod Page ● WP Page Template ● Shortcode
  27. 27. Pod PagePod Page ● Edit in Pods Admin ● Supports Wildcard URLs. ● Pod Page “events” = list of events ● Pod Page “events/*” = default handler for all pages beginning with "events/". ● PHP
  28. 28. Pod Page CodePod Page Code ● Define Pods Object ● findRecords (SQL) ● showTemplate/loop ● Pagination ● Precode ● Link to Template
  29. 29. Pod Page Code Up ClosePod Page Code Up Close
  30. 30. WP Page TemplateWP Page Template ● WP Theme file ● PHP ● WP template tags ● Pod Class ● findRecords ● showTemplate or custom loop
  31. 31. WP Page CloserWP Page Closer
  32. 32. Use Pods ShortcodeUse Pods Shortcode ● Simple syntax to include Pod Data ● Display That Many Pod-items in that Order ● Template ● Select * Where ● Universally usable
  33. 33. TemplatesTemplates ● Display Output ● HTML ● Magic Tags ● PHP ● Loop-like
  34. 34. More Template CodeMore Template Code ● $this->get_field('skidorp.name') ● $this->get_field ('pickcolumn.columnname'); ● {@field.column} ● {@field, helper}
  35. 35. ExamplesExamples
  36. 36. Detail PagesDetail Pages // pull URL segment $slug = pods_url_variable('last'); // pass slug as parameter when defining Pods object $Record = new Pod('podname', $slug); echo $Record-> showTemplate('hotel_detail');
  37. 37. Example Detail PageExample Detail Page
  38. 38. Example Detail PageExample Detail Page
  39. 39. HelpersHelpers Manipulate DB DataManipulate DB Data at Inputat Input at Displayat Display at Saveat Save
  40. 40. Uses of HelpersUses of Helpers ● Format Date (dd-mm-yy) ● Radio / Checkbox Fields ● Rounding Numbers ● Edit Value before Saving (http:// ) ● Send Mail after Update Pod ● ... ● Various Helpers for d/l on pods-site
  41. 41. Manage ContentManage Content Browse/edit all the content inBrowse/edit all the content in the Pods database tables.the Pods database tables.
  42. 42. Manage ContentManage Content
  43. 43. Edit ContentEdit Content
  44. 44. Example Pick FieldsExample Pick Fields
  45. 45. PackagesPackages Built in import/export systemBuilt in import/export system
  46. 46. PackagesPackages ● Import ● Export ● Pods ● Pages ● Templates ● Helpers
  47. 47. PackagesPackages ● Import/Export ● Pods ● Templates ● Pod Pages ● Helpers ● Repository on podscms.org
  48. 48. Pods UIPods UI Develop pluginsDevelop plugins that look like WP's ownthat look like WP's own
  49. 49. Pods UIPods UI ● Develop Custom Backends for Various Users ● Extremely Powerful with Role Managers ● PHP + WP Template Tags + Pods ● More options in 2.0
  50. 50. Pods UIPods UI
  51. 51. Pods UI : ManagePods UI : Manage
  52. 52. Pods UI : EditPods UI : Edit
  53. 53. Pods UI PossibilitiesPods UI Possibilities Which Fields Can They See ?Which Fields Can They See ? Which Fields Are Editable ?Which Fields Are Editable ? Which User Can Access ?Which User Can Access ? Can the User Add Fields ?Can the User Add Fields ? Can the User Delete Fields ?Can the User Delete Fields ? Duplicate Fields ?Duplicate Fields ?
  54. 54. Pods UI + RolesPods UI + Roles Combine this withCombine this with A Role Manager Plugin*A Role Manager Plugin* => Mega Power <==> Mega Power <= *e.g. Members by Justin Tadlock*e.g. Members by Justin Tadlock
  55. 55. Pods UI : Short HowtoPods UI : Short Howto Fire Up PodFire Up Pod Define Edit/Add FieldsDefine Edit/Add Fields pods_ui_managepods_ui_manage Next slide : code exampleNext slide : code example
  56. 56. BenefitsBenefits ● Seperate Tables ● Performance ● Ease of Use
  57. 57. Pro / ContraPro / Contra ● Separate Tables > No WP Functions (comments/akismet) ● Smaller Community ● UI (but wait for 2.0 ;) ) ● for Developers ● Seperate Tables ● Performance ● Ease of Use Issues will be addressed in Pods 2.0
  58. 58. Pods 2.0 ?Pods 2.0 ? ● More Functions ● Better Interface ● Easier to Use ● More Styling Options ● Also for non-developers ● Integration with CPT & WP functions ● Expected end of 2010 / begin 2011
  59. 59. Pods AddonsPods Addons ● Packages ● Helpers ● CSV Importer ● C-Gen ● PodsCMS Widgets ● Pods SEO Titles ● ...
  60. 60. More ?More ? PublicFormsPublicForms PodsAPIPodsAPI SQLSQL
  61. 61. Tutorials & HelpTutorials & Help ● podscms.org ● ui.podscms.org ● mondaybynoon.com test
  62. 62. Tom HermansTom Hermans ● www.tomhermans.com ● @tomhermans ● tom@tomhermans.com Thank you.Thank you.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×