63
Use WordPress as a CMS Use WordPress as a CMS with with Pods CMS Pods CMS Framework Framework by Tom Hermans by Tom Hermans

PodsCMS Framework by Tom Hermans (WordCampNL)

Embed Size (px)

DESCRIPTION

Presentation on annual WordCampNL on how to use WordPress as a CMS with PodsCMS.Contact me for more info or consulting.

Citation preview

Page 1: PodsCMS Framework by Tom Hermans (WordCampNL)

Use WordPress as a CMSUse WordPress as a CMS

withwith

Pods CMSPods CMSFrameworkFramework

by Tom Hermansby Tom Hermans

Page 2: PodsCMS Framework by Tom Hermans (WordCampNL)

Tom HermansTom Hermans

I'm @tomhermans on Twitter

Designer/Developer/WP

Freelance & Contract

www.tomhermans.com

Page 3: PodsCMS Framework by Tom Hermans (WordCampNL)

HanneHanne& Kaat& Kaat

Page 4: PodsCMS Framework by Tom Hermans (WordCampNL)

Is WP a CMS ?Is WP a CMS ?

ContentContentManagementManagement

SystemSystem

Page 5: PodsCMS Framework by Tom Hermans (WordCampNL)

Yes, WP = CMSYes, WP = CMS

Good at PublishingGood at PublishingEasy InterfaceEasy Interface

Powerful ThemingPowerful ThemingWYSIWYGWYSIWYG

Flexibility : Post MetaFlexibility : Post Meta

Page 6: PodsCMS Framework by Tom Hermans (WordCampNL)

No CMSNo CMS!Backend UI Customization!Backend UI Customization

Same Post TypesSame Post TypesCustom Fields ComplexityCustom Fields Complexity

““Just another WP Blog”Just another WP Blog”

Page 7: PodsCMS Framework by Tom Hermans (WordCampNL)

WordPressWordPress

Content ?Content ?

Page 8: PodsCMS Framework by Tom Hermans (WordCampNL)

ContentContentPostsPages

CommentsMediaLinks

Page 9: PodsCMS Framework by Tom Hermans (WordCampNL)

Multiple PossibilitiesMultiple Possibilities

Custom FieldsCustom FieldsCustom Post TypesCustom Post Types

Plugins..Plugins..PodsCMSPodsCMS

Page 10: PodsCMS Framework by Tom Hermans (WordCampNL)

PODS ?PODS ?WTF ?

Page 11: PodsCMS Framework by Tom Hermans (WordCampNL)

SimpleSimpleScalableScalable

CMSCMSFlexibleFlexible

ConnectiveConnectiveFrontEnd + BackEndFrontEnd + BackEnd

Customizable UICustomizable UI

Page 12: PodsCMS Framework by Tom Hermans (WordCampNL)

POD =POD =Piece Of DataPiece Of Data

Page 13: PodsCMS Framework by Tom Hermans (WordCampNL)

Build Your Own Build Your Own Content TypeContent Type

PodsCMSPodsCMS

Page 14: PodsCMS Framework by Tom Hermans (WordCampNL)

Why ?Why ?● Sorting, Filtering,

Relating Data● Easier for Clients● Better than Custom

Fields● More options than

Custom Post Type

Page 15: PodsCMS Framework by Tom Hermans (WordCampNL)

Ski regionSki region● Ski Villages● Number of Slopes● Number of Lifts● Geo-Location● Hotels● Weather Info● Picture(s)● Etc.. etc...

Page 16: PodsCMS Framework by Tom Hermans (WordCampNL)

PodsCMS InstallPodsCMS Install

Download plugin atDownload plugin atpodscms.org or podscms.org or

wordpress.org/extend/wordpress.org/extend/

Page 17: PodsCMS Framework by Tom Hermans (WordCampNL)

How does it workHow does it work

MVC-likeMVC-likeController : PodsCMSController : PodsCMS

Model : TemplatesModel : TemplatesView : PagesView : Pages

Page 18: PodsCMS Framework by Tom Hermans (WordCampNL)

Get StartedGet Started

1 Setup1 Setup2 Manage Content2 Manage Content3 Package Manager3 Package Manager4 Menu Editor 4 Menu Editor (deprecated)(deprecated)

5 Add Pod Item5 Add Pod Item

Page 19: PodsCMS Framework by Tom Hermans (WordCampNL)

Setup : Start to PodSetup : Start to Pod● Pods● Templates● Pages● Helpers● Roles● Settings

Page 20: PodsCMS Framework by Tom Hermans (WordCampNL)

1 Setup : Create Pod1 Setup : Create Pod● Add New Pod● Name● Columns● Pod Labels● Helpers

Page 21: PodsCMS Framework by Tom Hermans (WordCampNL)

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

Page 22: PodsCMS Framework by Tom Hermans (WordCampNL)

Closer Look SetupCloser Look Setup

Page 23: PodsCMS Framework by Tom Hermans (WordCampNL)

Pod ColumnsPod Columns● Machine name (db)

lowercase● Label● Column type● Attributes● Helpers● Comment● ...

Page 24: PodsCMS Framework by Tom Hermans (WordCampNL)

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)

Page 25: PodsCMS Framework by Tom Hermans (WordCampNL)

Pick FieldsPick FieldsRelate a Pod

● to another Pod● to a Page● to a Post● to a User● to a Taxonomy

= very powerful !

Page 26: PodsCMS Framework by Tom Hermans (WordCampNL)

PagesPagesRetrieve Data ?

● Pod Page● WP Page Template

● Shortcode

Page 27: PodsCMS Framework by Tom Hermans (WordCampNL)

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

Page 28: PodsCMS Framework by Tom Hermans (WordCampNL)

Pod Page CodePod Page Code● Define Pods Object● findRecords (SQL)● showTemplate/loop● Pagination● Precode● Link to Template

Page 29: PodsCMS Framework by Tom Hermans (WordCampNL)

Pod Page Code Up ClosePod Page Code Up Close

Page 30: PodsCMS Framework by Tom Hermans (WordCampNL)

WP Page TemplateWP Page Template● WP Theme file● PHP● WP template tags● Pod Class● findRecords● showTemplate or

custom loop

Page 31: PodsCMS Framework by Tom Hermans (WordCampNL)

WP Page CloserWP Page Closer

Page 32: PodsCMS Framework by Tom Hermans (WordCampNL)

Use Pods ShortcodeUse Pods Shortcode● Simple syntax to

include Pod Data● Display That Many

Pod-items in that Order

● Template● Select * Where● Universally usable

Page 33: PodsCMS Framework by Tom Hermans (WordCampNL)

TemplatesTemplates● Display Output● HTML● Magic Tags● PHP● Loop-like

Page 34: PodsCMS Framework by Tom Hermans (WordCampNL)

More Template CodeMore Template Code

● $this->get_field('skidorp.name')● $this->get_field

('pickcolumn.columnname');

● {@field.column}● {@field, helper}

Page 35: PodsCMS Framework by Tom Hermans (WordCampNL)

ExamplesExamples

Page 36: PodsCMS Framework by Tom Hermans (WordCampNL)

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');

Page 37: PodsCMS Framework by Tom Hermans (WordCampNL)

Example Detail PageExample Detail Page

Page 38: PodsCMS Framework by Tom Hermans (WordCampNL)

Example Detail PageExample Detail Page

Page 39: PodsCMS Framework by Tom Hermans (WordCampNL)

HelpersHelpers

Manipulate DB DataManipulate DB Dataat Inputat Input

at Displayat Displayat Saveat Save

Page 40: PodsCMS Framework by Tom Hermans (WordCampNL)

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

Page 41: PodsCMS Framework by Tom Hermans (WordCampNL)

Manage ContentManage Content

Browse/edit all the content in Browse/edit all the content in the Pods database tables.the Pods database tables.

Page 42: PodsCMS Framework by Tom Hermans (WordCampNL)

Manage ContentManage Content

Page 43: PodsCMS Framework by Tom Hermans (WordCampNL)

Edit ContentEdit Content

Page 44: PodsCMS Framework by Tom Hermans (WordCampNL)

Example Pick FieldsExample Pick Fields

Page 45: PodsCMS Framework by Tom Hermans (WordCampNL)

PackagesPackages

Built in import/export system Built in import/export system

Page 46: PodsCMS Framework by Tom Hermans (WordCampNL)

PackagesPackages● Import● Export● Pods● Pages● Templates● Helpers

Page 47: PodsCMS Framework by Tom Hermans (WordCampNL)

PackagesPackages● Import/Export● Pods● Templates● Pod Pages● Helpers● Repository on

podscms.org

Page 48: PodsCMS Framework by Tom Hermans (WordCampNL)

Pods UIPods UI

Develop plugins Develop plugins that look like WP's ownthat look like WP's own

Page 49: PodsCMS Framework by Tom Hermans (WordCampNL)

Pods UIPods UI● Develop Custom Backends

for Various Users● Extremely Powerful

with Role Managers● PHP + WP Template Tags + Pods● More options in 2.0

Page 50: PodsCMS Framework by Tom Hermans (WordCampNL)

Pods UIPods UI

Page 51: PodsCMS Framework by Tom Hermans (WordCampNL)

Pods UI : ManagePods UI : Manage

Page 52: PodsCMS Framework by Tom Hermans (WordCampNL)

Pods UI : EditPods UI : Edit

Page 53: PodsCMS Framework by Tom Hermans (WordCampNL)

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 ?

Page 54: PodsCMS Framework by Tom Hermans (WordCampNL)

Pods UI + RolesPods UI + Roles

Combine this withCombine this withA Role Manager Plugin*A Role Manager Plugin*

=> Mega Power <==> Mega Power <=*e.g. Members by Justin Tadlock*e.g. Members by Justin Tadlock

Page 55: PodsCMS Framework by Tom Hermans (WordCampNL)

Pods UI : Short HowtoPods UI : Short Howto

Fire Up PodFire Up PodDefine Edit/Add FieldsDefine Edit/Add Fields

pods_ui_managepods_ui_manage

Next slide : code exampleNext slide : code example

Page 56: PodsCMS Framework by Tom Hermans (WordCampNL)
Page 57: PodsCMS Framework by Tom Hermans (WordCampNL)

BenefitsBenefits● Seperate Tables● Performance● Ease of Use

Page 58: PodsCMS Framework by Tom Hermans (WordCampNL)

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

Page 59: PodsCMS Framework by Tom Hermans (WordCampNL)

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

Page 60: PodsCMS Framework by Tom Hermans (WordCampNL)

Pods AddonsPods Addons● Packages● Helpers

● CSV Importer● C-Gen● PodsCMS Widgets● Pods SEO Titles● ...

Page 61: PodsCMS Framework by Tom Hermans (WordCampNL)

More ?More ?

PublicFormsPublicFormsPodsAPIPodsAPI

SQLSQL

Page 62: PodsCMS Framework by Tom Hermans (WordCampNL)

Tutorials & HelpTutorials & Help● podscms.org● ui.podscms.org

● mondaybynoon.com

test

Page 63: PodsCMS Framework by Tom Hermans (WordCampNL)

Tom HermansTom Hermans● www.tomhermans.com● @tomhermans● [email protected]

Thank you.Thank you.