Created
December 11, 2009 12:42
-
-
Save philsturgeon/254191 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
v0.9.8 Documentation | |
-------------------- | |
Dont worry guys this will be broken down into page hierarchy, just filling out the content while I work out how to lay it all out. | |
Modules | |
PyroCMS is broken down into modules. A module can be frontend only (shows only to the public on the user-facing part of the site) and some might be | |
backend only (can only be seen via the Control Panel) and is basically a way of splitting up interfaces and functionality throughout the CMS. | |
For example: News is a module which has both frontend and backend. On the other hand, the Settings module is backend only. | |
Core Modules | |
Core modules are required for PyroCMS to run. Examples of core modules are navigation, users, permissions, etc. Without these, PyroCMS dies. | |
They can be found in the main application folder here: | |
./application/modules/core | |
Third-party modules | |
Third-party modules are optional and could be written by the PyroCMS dev team or anybody else. These modules are "Non-core" which means they | |
are not required by PyroCMS, but offer extra functionality. | |
They can be found in the main application folder here: | |
./application/modules/third_party | |
Installing third-party modules | |
To install a new third-party module you need to do two things. | |
1. Drop the module into ./application/modules/third_party | |
E.g ./application/modules/third_party/wiki | |
2.) Run the following command to remove the Module cache: | |
sudo rm -rf ./application/cache/modules_m | |
Themes | |
A theme is a collection of "view" files, CSS and images that control how PyroCMS should look. By default, PyroCMS comes with two themes, but these | |
are meant to be used only as examples for you to create your own. | |
Themes can be found in the directory: | |
./application/themes | |
Changing themes | |
To change which theme PyroCMS uses on your site, all you need to do is log into the the Control Panel and navigate to Settings -> Themes and click | |
"Make default" on the theme you wish to use. | |
Installing themes | |
There are two ways to install a theme to your PyroCMS web site. | |
1. If you have access to the PyroCMS code (via FTP, SSH, etc) add the theme folder to ./application/themes/<theme-name> | |
2. If not, you can upload a ZIP file of your theme via the Settings -> Theme -> Upload interface. | |
How do I make one? | |
CSS, images, JS and the asset helper | |
views, fragments, etc | |
Template syntax support | |
What are "layouts"? | |
How to override module view files. | |
How to override module layout files. | |
Pages | |
Pages is a core module that allows the end-user to add, edit and delete custom page content via a simple, intuative interface with limited | |
understanding of HTML. The pages module recieves all URL requests that are not a global controller or a module controller, then if no page exists it will | |
display a "Page not found" message. | |
Unlike many CMS' with page managers, PyroCMS can have unlimited levels of pages, meaning instead of just http://example.com/page-name you can have | |
http://example.com/page-name/child-page/grandchild. | |
Children... WTF? | |
Parent/child is a simple way of describing the relationship of pages. If "Page A" has another page below it "Page B", then "Page A" is a parent and | |
"Page B" is a child. A grandchild could be "Page C", which is a child of "Page B". | |
Editing CSS | |
Each page is able to have its own custom <acronym title="Cascading Style Sheets">CSS</acronym> editable via the "Layout" tab in the Create/Edit page | |
screen. This allows users to write specific CSS for a single page. To share CSS across a group of similar pages, you can add and edit CSS for a <a | |
href="#page_layouts">page layout</a>. | |
<a name="page_layouts" />Page layouts | |
A page layout essentially wraps a page, and controls where the title and content goes. This means you can add shared navigation bars, wrappers, extra | |
text or images to a whole group of pages. These can be edited via a WYSIWYG interface just like pages. | |
Two variables are available for this: | |
{$page.title} | |
{$page.body} | |
Thress guesses at what those two variables do. | |
Widgets | |
WTF are they? | |
Where are they? | |
How do I make one? | |
How do I use one? | |
Libraries | |
Admin_Controller | |
Asset | |
Cache | |
Curl | |
MY_Config | |
MY_Controller | |
MY_Exceptions | |
MY_Input | |
MY_Loader | |
MY_Model | |
MY_Pagination | |
MY_Parser | |
MY_Router | |
MY_Validation | |
Public_Controller | |
Simplepie.php | |
Template | |
Tinycimm | |
Widgets | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment