Website Development on October CMS

Our company is engaged in the development, support and maintenance of sites of any complexity. From simple one-page sites to large-scale cluster systems built on micro services. Experience of developers is confirmed by certificates from vendors.
Development and maintenance of all types of websites:
Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:
Development stages
Latest works
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    822
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    847
  • image_website-sbh_0.png
    Website development for SBH Partners
    999
  • image_website-_0.png
    Website development for Red Pear
    451

Website Development with CMS October CMS

October CMS is a PHP CMS based on Laravel, released in 2014. Version 3 is completely rewritten: modern Laravel 10+, Composer installation, Tailwind in the interface. Supports both classic PHP templates and headless mode via API.

When to Choose October CMS

October CMS is well suited when the team knows Laravel. Plugins are Laravel packages using Eloquent, Blade, Events. Built-in tools: Tailor (flexible content builder), Builder (plugin generation via UI), RainLab plugins (Blog, Users, Pages, Translate).

Architecture

october-project/
├── themes/
│   └── mytheme/
│       ├── theme.yaml
│       ├── layouts/
│       │   └── default.htm
│       ├── pages/
│       │   ├── index.htm
│       │   └── blog-post.htm
│       ├── partials/
│       │   ├── header.htm
│       │   └── footer.htm
│       └── assets/
├── plugins/
│   └── mycompany/
│       └── mysite/       # custom project plugin
├── config/
└── storage/

Page Structure (.htm file)

title = "Blog"
url = "/blog"
layout = "default"
is_hidden = 0

[blogPosts posts]
posts_per_page = 12
category_filter = ""
sort_order = "published_at desc"
==
{% put styles %}
  <link rel="stylesheet" href="{{ ['~/assets/css/blog.css'] | theme }}">
{% endput %}

<div class="blog-listing">
  {% for post in posts %}
    {% partial "blog/post-card" post=post %}
  {% endfor %}

  {% if posts.lastPage > 1 %}
    {% partial "pagination" items=posts %}
  {% endif %}
</div>

Tailor: Flexible Content Without Plugins

Tailor (October 3+) is a built-in content modeling system, similar to ACF in WordPress:

# blueprints/blog.yaml
uuid: a6e3a3c4-9d1f-4a1e-b9d2-d7c8e8f1a2b3
handle: Blog\Post
type: entry

fields:
  title:
    label: Title
    type: text
    required: true

  slug:
    label: Slug
    type: text
    preset:
      field: title
      type: slug

  content:
    label: Content
    type: richeditor

  featured_image:
    label: Featured Image
    type: fileupload
    mode: image
    imageWidth: 1200
    imageHeight: 630

  category:
    label: Category
    type: entries
    source: Blog\Category
    maxItems: 1

  published_at:
    label: Publication Date
    type: datepicker
    mode: datetime

Components

Components are the main unit of logic in October CMS. They encapsulate data for the template:

// plugins/mycompany/mysite/components/LatestPosts.php
namespace MyCompany\MySite\Components;

use Cms\Classes\ComponentBase;
use MyCompany\MySite\Models\Post;

class LatestPosts extends ComponentBase
{
    public function componentDetails(): array
    {
        return [
            'name'        => 'Latest Posts',
            'description' => 'Displays the latest blog posts',
        ];
    }

    public function defineProperties(): array
    {
        return [
            'limit' => [
                'title'       => 'Number of posts',
                'type'        => 'string',
                'default'     => '6',
                'validationPattern' => '^[0-9]+$',
            ],
        ];
    }

    public function onRun(): void
    {
        $this->page['posts'] = Post::published()
            ->with('featured_image', 'categories')
            ->orderBy('published_at', 'desc')
            ->limit((int) $this->property('limit'))
            ->get();
    }
}

Development Timeline

Stage Time
Installation + theme + basic pages 1–2 days
Tailor blueprints (5–8 types) 1–2 days
Components and logic 2–4 days
Templates and layout 3–7 days
Plugins (Blog, Users, SEO) 1–2 days
Corporate website 10–15 days