SlideShare a Scribd company logo
1 of 16
Intro to OctoberCMS – based on
Laravel framework
By: Kenton Spence
@tekjava
12/10/2015
Installing OctoberCMS
Steps to installing OctoberCMS:
1. You can clone their repo on GitHub, or download the installer.
2. Extract the files into your local directory, and configure your local server to match the local path.
3. Set up a new database, and take note of the database name.
4. Navigate to the directory/install.php and walk through the prompts for installation.
5. Delete the install files after successful installation.
How Themes & Templates work
End-output is coming from the <theme> directory. All the files and directories that make
OctoberCMS work are all located in this directory. By default, the demo theme is the
active theme. You can always create your own theme by creating new directory, a theme
configuration file called <theme.yaml> in the root of this directory adding a pages
directory with a page file in it. You can also create a new blank theme from the settings
menu in the backoffice area of OctoberCMS.
File structure for an OctoberCMS theme
Every theme consists of sub-directories for pages, partials, layouts, content files, and assets. Each of
these directories may contain sub-directories, allowing for simplification of larger scale projects.
Here’s what the demo directory structure looks like.
Twig markup
Twig markup is a PHP templating engine, enhancing and speeding up
templating, and reducing common verbose tasks to simple code
snippets. There are three parts to any of the page, layout, and partial
template files:
1. Configuration
2. PHP code
3. Twig markup
The configuration section is structured like a php.ini file, and is marked as finished by “==“, making
way for the PHP section also finished with “==“. The PHP section is optional for all template file. Twig
markup contains the actual contents of the template file.
Example of a template file:
Pages
Page configuration is defined in the Configuration Section of the page template file. The page
configuration defines the page parameters, required for the routing and rendering the page and page
Components.
1. url – page url is required
2. Title – page title is required
3. Layout- page layout can point to a layout file this is optional
4. Description – description for the page in the back-end is optional
The page url can take on parameters, depending on the page in question. 404 and error pages can
also be specified.
Example of a page layout:
Find out more on pages here.
Partials
Partials refer to files that contain partial amounts of code. Partial files are can be called and reused in
pages, layouts, or other partials. You can use the {% partial %} tag to call a partial from inside another
file. Partials only support one configuration parameter:
1. Description – the partial description for the back-end is optional
Here’s a basic example of a partial (right sidebar) calling another partial (recent posts):
Layouts
Layout files specify the layout of a page. They act as the major building blocks for any October CMS
project. They take on two configuration options, both of which are used in the back-end interface:
1.name – the name of the layout file for the back-end (optional)
2.description – the layout file description for the back-end (optional)
A layout page might look something like this:
Content Blocks
Content files contain content sections, and can be called from inside layout, page, or partial files.
Content files support three extensions:
1..htm (for HTML markup)
2..txt (for plain text)
3..md (for markdown) <- awesome
You can call a content file using twig markup by running the {% content %} tag.
Here’s an example of a page rendering a couple of content blocks:
AJAX Module
October CMS has a very robust AJAX framework built in, allowing you to make AJAX requests and interact
with a number of data attributes easily. Add the AJAX framework by placing the {% framework %} tag
anywhere inside the page or layout. It requires jQuery which is loaded before the framework.
Example:
AJAX requests work by invoking an event handler on the server. This event handler can then update page
elements using partials. There are two API’s for performing AJAX tasks…
Data Attributes API
The Data Attribute API allows you to issue AJAX requests without any JavaScript (less verbose than the
JavaScript API). Here’s an example from their website using the Data Attributes API. It redirects a user to
another page after a successful request:
JavaScript API
The JavaScript API allows us to use any options and methods compatible with the jQuery AJAX
function. We can use the “request()” method with any element inside a form, or on the form itself. The
“request()” method has a single required parameter – the handler name. Here’s an example:
Simple Extensibility
October CMS is extendable via plugins and components.
The documentation states:
Plugins
Plugins allow us to extend October CMS beyond the out of the box functionality it has. They can define
components, add back-end pages, interact and edit the functionality of other plugins, and more. They
are easily described and set up. They are placed in the /plugins directory.
Visit the plugin docs to get started creating your own!
Components
Components provide us with configurable building blocks, and they can be attached to any page,
partial, or layout. They extend the behavior of front-end pages by:
1.Providing basic markup using partials
2.Handling AJAX events triggered by the page
3.Injecting variables by participating in the page execution cycle
Check out the official components documentation here.
Start Crushing It with OctoberCMS!
The two creators of OctoberCMS are Alexey Bobkov and Samuel
Georges. Their philosophy is making web development and deployment
simple!
Cheers!
Feel free to reach out on twitter @tekjava
Email: kspence@tekjava.com

More Related Content

What's hot

Chrome extansion
Chrome extansionChrome extansion
Chrome extansionOleh Halay
 
The ASP.NET Web API for Beginners
The ASP.NET Web API for BeginnersThe ASP.NET Web API for Beginners
The ASP.NET Web API for BeginnersKevin Hazzard
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniquesguest8899ec02
 
Calgary azure dev camp - Service Bus
Calgary azure dev camp - Service BusCalgary azure dev camp - Service Bus
Calgary azure dev camp - Service Buswearsy
 
Cdn slides
Cdn slidesCdn slides
Cdn slidesmasmanx
 
Web site loading time optimization
Web site loading time optimizationWeb site loading time optimization
Web site loading time optimizationDamith Kothalawala
 
Client-side Website Optimization
Client-side Website OptimizationClient-side Website Optimization
Client-side Website OptimizationRadu Pintilie
 
Request routing in CDN
Request routing in CDNRequest routing in CDN
Request routing in CDNSandeep Kath
 
Messaging in the cloud - Azure Service Bus
Messaging in the cloud - Azure Service BusMessaging in the cloud - Azure Service Bus
Messaging in the cloud - Azure Service BusSean Feldman
 
Php & web server performace
Php & web server performacePhp & web server performace
Php & web server performaceTuyển Đoàn
 
Windows Azure Service Bus
Windows Azure Service BusWindows Azure Service Bus
Windows Azure Service BusPavel Revenkov
 
Peer Cache for Configuration Manager clients
Peer Cache for Configuration Manager clientsPeer Cache for Configuration Manager clients
Peer Cache for Configuration Manager clientsKarthick Jokirathinam
 
Application server vs Web Server
Application server vs Web ServerApplication server vs Web Server
Application server vs Web ServerGagandeep Singh
 
Uploading multiple files to Google Cloud Storage
Uploading multiple files to Google Cloud StorageUploading multiple files to Google Cloud Storage
Uploading multiple files to Google Cloud StorageZdenko Hrček
 

What's hot (20)

Chrome extansion
Chrome extansionChrome extansion
Chrome extansion
 
Web servers
Web serversWeb servers
Web servers
 
The ASP.NET Web API for Beginners
The ASP.NET Web API for BeginnersThe ASP.NET Web API for Beginners
The ASP.NET Web API for Beginners
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniques
 
Calgary azure dev camp - Service Bus
Calgary azure dev camp - Service BusCalgary azure dev camp - Service Bus
Calgary azure dev camp - Service Bus
 
Cdn slides
Cdn slidesCdn slides
Cdn slides
 
Web site loading time optimization
Web site loading time optimizationWeb site loading time optimization
Web site loading time optimization
 
Web performance Talk
Web performance TalkWeb performance Talk
Web performance Talk
 
Firefox Speed Up: Advanced Tricks Part 1
Firefox Speed Up: Advanced Tricks Part 1Firefox Speed Up: Advanced Tricks Part 1
Firefox Speed Up: Advanced Tricks Part 1
 
Client-side Website Optimization
Client-side Website OptimizationClient-side Website Optimization
Client-side Website Optimization
 
Web server
Web serverWeb server
Web server
 
HTTP/2
HTTP/2HTTP/2
HTTP/2
 
Request routing in CDN
Request routing in CDNRequest routing in CDN
Request routing in CDN
 
Windows Azure Service Bus
Windows Azure Service BusWindows Azure Service Bus
Windows Azure Service Bus
 
Messaging in the cloud - Azure Service Bus
Messaging in the cloud - Azure Service BusMessaging in the cloud - Azure Service Bus
Messaging in the cloud - Azure Service Bus
 
Php & web server performace
Php & web server performacePhp & web server performace
Php & web server performace
 
Windows Azure Service Bus
Windows Azure Service BusWindows Azure Service Bus
Windows Azure Service Bus
 
Peer Cache for Configuration Manager clients
Peer Cache for Configuration Manager clientsPeer Cache for Configuration Manager clients
Peer Cache for Configuration Manager clients
 
Application server vs Web Server
Application server vs Web ServerApplication server vs Web Server
Application server vs Web Server
 
Uploading multiple files to Google Cloud Storage
Uploading multiple files to Google Cloud StorageUploading multiple files to Google Cloud Storage
Uploading multiple files to Google Cloud Storage
 

Viewers also liked

Madison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small TeamsMadison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small TeamsJoe Ferguson
 
Php 7 compliance workshop singapore
Php 7 compliance workshop singaporePhp 7 compliance workshop singapore
Php 7 compliance workshop singaporeDamien Seguy
 
So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016Joe Ferguson
 
Secure Form Processing and Protection - Devspace 2015
Secure Form Processing and Protection - Devspace 2015 Secure Form Processing and Protection - Devspace 2015
Secure Form Processing and Protection - Devspace 2015 Joe Ferguson
 
Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:winConsole Apps: php artisan forthe:win
Console Apps: php artisan forthe:winJoe Ferguson
 
Laravel 5 New Features
Laravel 5 New FeaturesLaravel 5 New Features
Laravel 5 New FeaturesJoe Ferguson
 
La métrique, ce n'est pas que pour le devops
La métrique, ce n'est pas que pour le devopsLa métrique, ce n'est pas que pour le devops
La métrique, ce n'est pas que pour le devopsPatrick Allaert
 
DevOps For Small Teams
DevOps For Small TeamsDevOps For Small Teams
DevOps For Small TeamsJoe Ferguson
 
ZendCon 2015 - DevOps for Small Teams
ZendCon 2015 - DevOps for Small TeamsZendCon 2015 - DevOps for Small Teams
ZendCon 2015 - DevOps for Small TeamsJoe Ferguson
 
Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015 Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015 Joe Ferguson
 
PHP 7 – What changed internally? (Forum PHP 2015)
PHP 7 – What changed internally? (Forum PHP 2015)PHP 7 – What changed internally? (Forum PHP 2015)
PHP 7 – What changed internally? (Forum PHP 2015)Nikita Popov
 
Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:win Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:win Joe Ferguson
 
So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...Joe Ferguson
 
This Is How We Disrupted The Cloud Hosting Industry In 2016
This Is How We Disrupted The Cloud Hosting Industry In 2016This Is How We Disrupted The Cloud Hosting Industry In 2016
This Is How We Disrupted The Cloud Hosting Industry In 2016Cloudways
 
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
ZendCon 2015 - Laravel Forge: Hello World to Hello ProductionZendCon 2015 - Laravel Forge: Hello World to Hello Production
ZendCon 2015 - Laravel Forge: Hello World to Hello ProductionJoe Ferguson
 
Advanced debugging techniques (PHP)
Advanced debugging techniques (PHP)Advanced debugging techniques (PHP)
Advanced debugging techniques (PHP)Patrick Allaert
 
php[world] 2015 Training - Laravel from the Ground Up
php[world] 2015 Training - Laravel from the Ground Upphp[world] 2015 Training - Laravel from the Ground Up
php[world] 2015 Training - Laravel from the Ground UpJoe Ferguson
 
Acceptance & Functional Testing with Codeception - SunshinePHP 2016
Acceptance & Functional Testing with Codeception - SunshinePHP 2016Acceptance & Functional Testing with Codeception - SunshinePHP 2016
Acceptance & Functional Testing with Codeception - SunshinePHP 2016Joe Ferguson
 
PHP 7 – What changed internally?
PHP 7 – What changed internally?PHP 7 – What changed internally?
PHP 7 – What changed internally?Nikita Popov
 
Maitriser les structures de données PHP 102 - Forum Paris 2012
Maitriser les structures de données PHP 102 - Forum Paris 2012Maitriser les structures de données PHP 102 - Forum Paris 2012
Maitriser les structures de données PHP 102 - Forum Paris 2012Patrick Allaert
 

Viewers also liked (20)

Madison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small TeamsMadison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small Teams
 
Php 7 compliance workshop singapore
Php 7 compliance workshop singaporePhp 7 compliance workshop singapore
Php 7 compliance workshop singapore
 
So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016So You Just Inherited a $Legacy Application… NomadPHP July 2016
So You Just Inherited a $Legacy Application… NomadPHP July 2016
 
Secure Form Processing and Protection - Devspace 2015
Secure Form Processing and Protection - Devspace 2015 Secure Form Processing and Protection - Devspace 2015
Secure Form Processing and Protection - Devspace 2015
 
Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:winConsole Apps: php artisan forthe:win
Console Apps: php artisan forthe:win
 
Laravel 5 New Features
Laravel 5 New FeaturesLaravel 5 New Features
Laravel 5 New Features
 
La métrique, ce n'est pas que pour le devops
La métrique, ce n'est pas que pour le devopsLa métrique, ce n'est pas que pour le devops
La métrique, ce n'est pas que pour le devops
 
DevOps For Small Teams
DevOps For Small TeamsDevOps For Small Teams
DevOps For Small Teams
 
ZendCon 2015 - DevOps for Small Teams
ZendCon 2015 - DevOps for Small TeamsZendCon 2015 - DevOps for Small Teams
ZendCon 2015 - DevOps for Small Teams
 
Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015 Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015
 
PHP 7 – What changed internally? (Forum PHP 2015)
PHP 7 – What changed internally? (Forum PHP 2015)PHP 7 – What changed internally? (Forum PHP 2015)
PHP 7 – What changed internally? (Forum PHP 2015)
 
Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:win Console Apps: php artisan forthe:win
Console Apps: php artisan forthe:win
 
So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...
 
This Is How We Disrupted The Cloud Hosting Industry In 2016
This Is How We Disrupted The Cloud Hosting Industry In 2016This Is How We Disrupted The Cloud Hosting Industry In 2016
This Is How We Disrupted The Cloud Hosting Industry In 2016
 
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
ZendCon 2015 - Laravel Forge: Hello World to Hello ProductionZendCon 2015 - Laravel Forge: Hello World to Hello Production
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
 
Advanced debugging techniques (PHP)
Advanced debugging techniques (PHP)Advanced debugging techniques (PHP)
Advanced debugging techniques (PHP)
 
php[world] 2015 Training - Laravel from the Ground Up
php[world] 2015 Training - Laravel from the Ground Upphp[world] 2015 Training - Laravel from the Ground Up
php[world] 2015 Training - Laravel from the Ground Up
 
Acceptance & Functional Testing with Codeception - SunshinePHP 2016
Acceptance & Functional Testing with Codeception - SunshinePHP 2016Acceptance & Functional Testing with Codeception - SunshinePHP 2016
Acceptance & Functional Testing with Codeception - SunshinePHP 2016
 
PHP 7 – What changed internally?
PHP 7 – What changed internally?PHP 7 – What changed internally?
PHP 7 – What changed internally?
 
Maitriser les structures de données PHP 102 - Forum Paris 2012
Maitriser les structures de données PHP 102 - Forum Paris 2012Maitriser les structures de données PHP 102 - Forum Paris 2012
Maitriser les structures de données PHP 102 - Forum Paris 2012
 

Similar to Intro to OctoberCMS

CustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsCustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsSuite Solutions
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Thomas Daly
 
ASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites AppearanceASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites AppearanceRandy Connolly
 
Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9AHM Pervej Kabir
 
Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304malexanderIBM
 
11 asp.net session16
11 asp.net session1611 asp.net session16
11 asp.net session16Vivek chan
 
advance theme development
advance theme developmentadvance theme development
advance theme development1amitgupta
 
Designing for magento
Designing for magentoDesigning for magento
Designing for magentohainutemicute
 
Share point 2010-uiimprovements
Share point 2010-uiimprovementsShare point 2010-uiimprovements
Share point 2010-uiimprovementsLiquidHub
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5Ketan Raval
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5ketanraval
 
Silverstripe 2.4-highlights-gpmd
Silverstripe 2.4-highlights-gpmdSilverstripe 2.4-highlights-gpmd
Silverstripe 2.4-highlights-gpmdGPMD Ltd
 
Must be similar to screenshotsI must be able to run the projects.docx
Must be similar to screenshotsI must be able to run the projects.docxMust be similar to screenshotsI must be able to run the projects.docx
Must be similar to screenshotsI must be able to run the projects.docxherthaweston
 

Similar to Intro to OctoberCMS (20)

CustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsCustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputs
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
ASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites AppearanceASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites Appearance
 
Actionview
ActionviewActionview
Actionview
 
To create a web service
To create a web serviceTo create a web service
To create a web service
 
Web technologies part-2
Web technologies part-2Web technologies part-2
Web technologies part-2
 
Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9Asp.net c# MVC-5 Training-Day-2 of Day-9
Asp.net c# MVC-5 Training-Day-2 of Day-9
 
Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304
 
11 asp.net session16
11 asp.net session1611 asp.net session16
11 asp.net session16
 
advance theme development
advance theme developmentadvance theme development
advance theme development
 
Designing for magento
Designing for magentoDesigning for magento
Designing for magento
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
Share point 2010-uiimprovements
Share point 2010-uiimprovementsShare point 2010-uiimprovements
Share point 2010-uiimprovements
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
 
Introduction to-concrete-5
Introduction to-concrete-5Introduction to-concrete-5
Introduction to-concrete-5
 
ASP.NET - Web Programming
ASP.NET - Web ProgrammingASP.NET - Web Programming
ASP.NET - Web Programming
 
WordPress Theming 101
WordPress Theming 101WordPress Theming 101
WordPress Theming 101
 
Silverstripe 2.4-highlights-gpmd
Silverstripe 2.4-highlights-gpmdSilverstripe 2.4-highlights-gpmd
Silverstripe 2.4-highlights-gpmd
 
M02 un12 p01
M02 un12 p01M02 un12 p01
M02 un12 p01
 
Must be similar to screenshotsI must be able to run the projects.docx
Must be similar to screenshotsI must be able to run the projects.docxMust be similar to screenshotsI must be able to run the projects.docx
Must be similar to screenshotsI must be able to run the projects.docx
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

Intro to OctoberCMS

  • 1. Intro to OctoberCMS – based on Laravel framework By: Kenton Spence @tekjava 12/10/2015
  • 2. Installing OctoberCMS Steps to installing OctoberCMS: 1. You can clone their repo on GitHub, or download the installer. 2. Extract the files into your local directory, and configure your local server to match the local path. 3. Set up a new database, and take note of the database name. 4. Navigate to the directory/install.php and walk through the prompts for installation. 5. Delete the install files after successful installation.
  • 3. How Themes & Templates work End-output is coming from the <theme> directory. All the files and directories that make OctoberCMS work are all located in this directory. By default, the demo theme is the active theme. You can always create your own theme by creating new directory, a theme configuration file called <theme.yaml> in the root of this directory adding a pages directory with a page file in it. You can also create a new blank theme from the settings menu in the backoffice area of OctoberCMS.
  • 4. File structure for an OctoberCMS theme Every theme consists of sub-directories for pages, partials, layouts, content files, and assets. Each of these directories may contain sub-directories, allowing for simplification of larger scale projects. Here’s what the demo directory structure looks like.
  • 5. Twig markup Twig markup is a PHP templating engine, enhancing and speeding up templating, and reducing common verbose tasks to simple code snippets. There are three parts to any of the page, layout, and partial template files: 1. Configuration 2. PHP code 3. Twig markup
  • 6. The configuration section is structured like a php.ini file, and is marked as finished by “==“, making way for the PHP section also finished with “==“. The PHP section is optional for all template file. Twig markup contains the actual contents of the template file. Example of a template file:
  • 7. Pages Page configuration is defined in the Configuration Section of the page template file. The page configuration defines the page parameters, required for the routing and rendering the page and page Components. 1. url – page url is required 2. Title – page title is required 3. Layout- page layout can point to a layout file this is optional 4. Description – description for the page in the back-end is optional The page url can take on parameters, depending on the page in question. 404 and error pages can also be specified.
  • 8. Example of a page layout: Find out more on pages here.
  • 9. Partials Partials refer to files that contain partial amounts of code. Partial files are can be called and reused in pages, layouts, or other partials. You can use the {% partial %} tag to call a partial from inside another file. Partials only support one configuration parameter: 1. Description – the partial description for the back-end is optional Here’s a basic example of a partial (right sidebar) calling another partial (recent posts):
  • 10. Layouts Layout files specify the layout of a page. They act as the major building blocks for any October CMS project. They take on two configuration options, both of which are used in the back-end interface: 1.name – the name of the layout file for the back-end (optional) 2.description – the layout file description for the back-end (optional) A layout page might look something like this:
  • 11. Content Blocks Content files contain content sections, and can be called from inside layout, page, or partial files. Content files support three extensions: 1..htm (for HTML markup) 2..txt (for plain text) 3..md (for markdown) <- awesome You can call a content file using twig markup by running the {% content %} tag. Here’s an example of a page rendering a couple of content blocks:
  • 12. AJAX Module October CMS has a very robust AJAX framework built in, allowing you to make AJAX requests and interact with a number of data attributes easily. Add the AJAX framework by placing the {% framework %} tag anywhere inside the page or layout. It requires jQuery which is loaded before the framework. Example: AJAX requests work by invoking an event handler on the server. This event handler can then update page elements using partials. There are two API’s for performing AJAX tasks…
  • 13. Data Attributes API The Data Attribute API allows you to issue AJAX requests without any JavaScript (less verbose than the JavaScript API). Here’s an example from their website using the Data Attributes API. It redirects a user to another page after a successful request: JavaScript API The JavaScript API allows us to use any options and methods compatible with the jQuery AJAX function. We can use the “request()” method with any element inside a form, or on the form itself. The “request()” method has a single required parameter – the handler name. Here’s an example:
  • 14. Simple Extensibility October CMS is extendable via plugins and components. The documentation states:
  • 15. Plugins Plugins allow us to extend October CMS beyond the out of the box functionality it has. They can define components, add back-end pages, interact and edit the functionality of other plugins, and more. They are easily described and set up. They are placed in the /plugins directory. Visit the plugin docs to get started creating your own! Components Components provide us with configurable building blocks, and they can be attached to any page, partial, or layout. They extend the behavior of front-end pages by: 1.Providing basic markup using partials 2.Handling AJAX events triggered by the page 3.Injecting variables by participating in the page execution cycle Check out the official components documentation here.
  • 16. Start Crushing It with OctoberCMS! The two creators of OctoberCMS are Alexey Bobkov and Samuel Georges. Their philosophy is making web development and deployment simple! Cheers! Feel free to reach out on twitter @tekjava Email: kspence@tekjava.com