My Presentation on WordCampID 2011 Bandung about WordPress MVC Framework that trying to turn WordPress template development to object oriented friendly.
Optimizing NoSQL Performance Through Observability
WordPress MVC Framework
1. WordPress MVC Theme
Framework
THINKROOMS STUDIO
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
2. Who am I?
Founder of THINKROOM STUDIO
Founder of RServe.me
10 years experiences in web technology
4 years experiences with WordPress
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
3. Why WordPress MVC?
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
4. Others are options based &
starter theme
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
5. Options Based
Carrington
Genesis
Catalyst
Thesis
Themify
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
6. Starter Theme
Thematic
Twenty Ten
WP Framework
Sandbox
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
7. WordPress has structural
code
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
8. WordPress MVC is a
framework to code theme
from scratch
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
9. But Easier & Less Code To
Write
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
10. Inspired from Yii PHP
Framework
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
11. Turning WordPress from
structural to object oriented
friendly
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
12. Separate The Logic and
Presentation
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
13. Model
View
Controller
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
14. Files Structure
childthemes
default
child
mvc
images
css
js
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
15. Features
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
16. Model
Post
Category
Author
Comment
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
17. Post Model
TPost::defaultPost();
TPost::find($param);
TPost::findAll($param);
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
18. Post Model
basic attributes comments
related posts by previous post
category
next post
author
childs
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
19. Post Model
$post=TPost::find(array(‘id’=>1));
$post->title;
$post->content;
$post->author;
$post->relatedPostByCat($pageSize);
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
20. Category Model
Get all post in category
Check if a post is in category
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
21. Controller
Basic WordPress template file
Controller
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
22. View
Default Theme
Child Theme
Widget(view, js, css)
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
23. Using View
Controller:
$post=TPost::defaultPost();
WpMvc::app()->view->render(‘viewName’,array(‘post’=>$post));
View:
echo $post->title;
echo $post->content
echo $post->author->name;
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
24. Custom controller
Create controller without create a page
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
25. Custom Controller
http://yourwebsite.com/index.php?r=mypage
wp-content/themes/yourthemes/mypage.php
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
26. Future Plans
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
27. Options Page
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
28. Useful Widgets
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
29. Integrate Some Popular
Plugins
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
30. Getting Started
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
31. Download at
https://github.com/tyohan/WordPress-MVC-Framework
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
32. Create your own child theme
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
33. Develop Application Based
on WordPress
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011
34. Thank You
Yohan Totting
@tyohan
tyohan@thinkrooms.com
http://www.thinkrooms.com
THINKROOMS STUDIO
Web & Mobile Application | HTML Slicing | CMS Template | Web Maintenance
Sunday, January 30, 2011