PHPackages                             sinevia/laravel-cms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. sinevia/laravel-cms

ActiveLibrary[Framework](/categories/framework)

sinevia/laravel-cms
===================

Content Management System for Laravel

v2.38.0(1y ago)241.4k8[3 issues](https://github.com/Sinevia/laravel-cms/issues)proprietaryBladePHP ~5.6|~7.0|~8.0|~9.0

Since Jan 22Pushed 1y ago4 watchersCompare

[ Source](https://github.com/Sinevia/laravel-cms)[ Packagist](https://packagist.org/packages/sinevia/laravel-cms)[ Docs](https://github.com/Sinevia/Cms)[ RSS](/packages/sinevia-laravel-cms/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (10)Dependencies (3)Versions (63)Used By (0)

Laravel CMS
===========

[](#laravel-cms)

[![Total Downloads](https://camo.githubusercontent.com/a17b879ae10599b2f19e2b272d4c2802c0cd932d4f64b8a5a992a78a1511d0c1/68747470733a2f2f706f7365722e707567782e6f72672f73696e657669612f6c61726176656c2d636d732f646f776e6c6f616473)](https://packagist.org/packages/sinevia/laravel-cms)[![Latest Stable Version](https://camo.githubusercontent.com/04fc12752b67dea0b970bab215a69941f08e54f3be5e5a0006002662d5778d26/68747470733a2f2f706f7365722e707567782e6f72672f73696e657669612f6c61726176656c2d636d732f762f737461626c65)](https://packagist.org/packages/sinevia/laravel-cms)[![Latest Unstable Version](https://camo.githubusercontent.com/9b69bda7417b57ed94ef7811755f8f9d7b93140fd95a401ff0fc4d9c0bee674a/68747470733a2f2f706f7365722e707567782e6f72672f73696e657669612f6c61726176656c2d636d732f762f756e737461626c65)](https://packagist.org/packages/sinevia/laravel-cms)[![License](https://camo.githubusercontent.com/5b265835e320f410f1dc7975efab731eabd91ca542b8ee26cbe7284b2d66fcbd/68747470733a2f2f706f7365722e707567782e6f72672f73696e657669612f6c61726176656c2d636d732f6c6963656e7365)](https://packagist.org/packages/sinevia/laravel-cms)[![Monthly Downloads](https://camo.githubusercontent.com/b6b34c3b03086bda6086428cee12e89028500535d7b58913ec790d24420e8119/68747470733a2f2f706f7365722e707567782e6f72672f73696e657669612f6c61726176656c2d636d732f642f6d6f6e74686c79)](https://packagist.org/packages/sinevia/laravel-cms)[![Daily Downloads](https://camo.githubusercontent.com/a4812124455244b8a06fb30696aa51c995c4e4a78e92f1bee51dfda9566007b4/68747470733a2f2f706f7365722e707567782e6f72672f73696e657669612f6c61726176656c2d636d732f642f6461696c79)](https://packagist.org/packages/sinevia/laravel-cms)[![composer.lock](https://camo.githubusercontent.com/df9b18b53b921d9d835e803873b4dc2704a87121852ef4ccd1b7f55f4326c54b/68747470733a2f2f706f7365722e707567782e6f72672f73696e657669612f6c61726176656c2d636d732f636f6d706f7365726c6f636b)](https://packagist.org/packages/sinevia/laravel-cms)

A "plug-and-play" content managing system (CMS) for Laravel that does its job and stays out of your way.

Introduction
------------

[](#introduction)

All of the existing Laravel CMS (OctoberCms, AsgardCms, PyroCms, etc) require a full installations from scratch. Its impossible to just add them to an exiting Laravel application, and even when added feel like you don't get what you hoped for.

This package allows to add a content management system as a package dependency in your composer file, which can be easily updated or removed as required to ANY Laravel app. It is fully self contained, and does not require any additional packages or dependencies. Removal is also a breeze just remove from your composer file.

Features
--------

[](#features)

- Templates (aka master layouts)
- Pages (web pages)
- Blocks (reusable cutom pieces of code -- headers, footers)
- Widgets (dynamic reusable pre-defined components)

Installation (est. 5-10 mins)
-----------------------------

[](#installation-est-5-10-mins)

- Install required library

```
composer require lesichkovm/laravel-advanced-route
composer require lesichkovm/laravel-advanced-model
```

- Install the CMS

```
composer require sinevia/laravel-cms
php artisan migrate
php artisan vendor:publish --tag=config
// If you want the migrations, usually not needed
php artisan vendor:publish --tag=migrations
// If you want the views, usually not  needed
php artisan vendor:publish --tag=views
```

Word of warning. Do use a stable package, as "dev-master" is a work in progress.

Uninstall (est. 5 mins)##
-------------------------

[](#uninstall-est-5-mins)

Removal of the package is a breeze:

```
composer remove sinevia/laravel-cms
```

Optionally, delete the CMS tables (all which start with the snv\_cms\_ prefix)

Configuration
-------------

[](#configuration)

After running the vendor:publish command, the CMS settings will be published in the /config/cms.php config file. Check these out, and modify according to your taste

Route Settings
--------------

[](#route-settings)

1. CMS Endpoint (public, catch all)

```
\Route::group(['prefix' => '/'], function () {
    // will match only one level deep (not recommended)
    \Route::any('/{path?}', '\Sinevia\Cms\Http\Controllers\CmsController@anyPageView');

    // or use with regex expression to match any level
    \Route::any('/{path?}', '\Sinevia\Cms\Http\Controllers\CmsController@anyPageView')
        ->where('path', '([a-zA-z0-9\/\-]++)');

    // or use with simpler regex expression to match any level
    \Route::any('/{path?}', '\Sinevia\Cms\Http\Controllers\CmsController@anyPageView')
        ->where('path', '.+');

    // or if you prefer using the class path (recommended)
    \Route::any('/{path?}', [\Sinevia\Cms\Http\Controllers\CmsController::class, 'anyPageView'])
        ->where('path', '.+');
});
```

2. Admin endpoint (private, protect with middleware)

```
\Route::group(['prefix' => '/admin'], function () {
    \Route::group(['middleware'=>'adminonly'], function(){
        \AdvancedRoute::controller('/cms', '\Sinevia\Cms\Http\Controllers\CmsController');

        // or if your prefer using class path (recommended)
        \AdvancedRoute::controller('/cms', \Sinevia\Cms\Http\Controllers\CmsController::class);
    });
});
```

Templates
---------

[](#templates)

The templates are layouts, that can be used to display the pages in a uniform fashion. You may have multiple templates which is useful if you want to have different "look and feel" for different sections of your website.

Pages
-----

[](#pages)

The pages are the content which displays when you visit a specified URL. Each page may have an optional parent template, which can specify common elements (i.e. style sheets, scripts, etc) for all pages sharing the template.

Blocks
------

[](#blocks)

The blocks are small content snippets which can be embedded into pages and templates. Useful if you want to use on multiple pages, or to make pages more lightweight.

To embed in page or template use a shortcode like this: \[\[BLOCK\_20180509052702261348\]\]

Widgets
-------

[](#widgets)

The widgets are predefined dynamic modules which can be embedded into pages and templates (i.e. Google Maps, Contact Forms, etc). Depending on the action they perform, these may or may not have optional or requred parameters. Each widget files reside in its own directory.

To embed in page or template use a shortcode like this: \[\[WIDGET\_20180509052702261348\]\]

More info:

Human Friendly Aliases
----------------------

[](#human-friendly-aliases)

The following shortcuts can be used to create human friendly page aliases, that can be used for pages with dynamic content

ShortcutRegex:any(\[^/\]+):num(\[0-9\]+):all(.\*):string(\[a-zA-Z\]+):number(\[0-9\]+):numeric(\[0-9-.\]+):alpha'(\[a-zA-Z0-9-\_\]+)Example page alias: /article/:num/:string

To retrieve back you may use the following snippet

```
preg_match('#^/article/([0-9]+)/([a-zA-Z]+)/([a-zA-Z]+)$#', '/' . $uri, $matched);
$articleId = $matched[1] ?? "";
```

Quick Snippets
--------------

[](#quick-snippets)

1. Advanced usage. Use the CMS templates to wrap around custom code with blade templates:

```
// A small helper function to place HTML in the CMS template
function viewInTemplate($pageTitle, $pageContent) {
    $template = \Sinevia\Cms\Models\Template::find('20180126000128528925');

    return $template->render('en', [
                'page_title' => $pageTitle,
                'page_content' => $pageContent,
    ]);
}

// Then you may use from your controller, for instance to show a login form in
$html = view('guest/auth/login', get_defined_vars())->render();
return viewInTemplate('Login', $pageContent)
```

Screenshots
-----------

[](#screenshots)

### 1. Page Manager

[](#1-page-manager)

[![Alt text](screenshots/001_PageManager.png?raw=true "CMS. Page Manager")](screenshots/001_PageManager.png?raw=true)

### 2. Create New Page

[](#2-create-new-page)

[![Alt text](screenshots/002_PageAddNew.png?raw=true "CMS. Create New Page")](screenshots/002_PageAddNew.png?raw=true)

### 3. Edit Page. Content View

[](#3-edit-page-content-view)

[![Alt text](screenshots/003_PageEdit.png?raw=true "CMS. Edit Page. Content View")](screenshots/003_PageEdit.png?raw=true)

### 4. Edit Page. SEO View

[](#4-edit-page-seo-view)

[![Alt text](screenshots/004_PageEdit_SeoView.png?raw=true "CMS. Edit Page. SEO View")](screenshots/004_PageEdit_SeoView.png?raw=true)

### 5. Speed Test (before additional speed improvements)

[](#5-speed-test-before-additional-speed-improvements)

[![Alt text](screenshots/005_SpeedTest.png?raw=true "CMS. Speed Test")](screenshots/005_SpeedTest.png?raw=true)

Changelog
---------

[](#changelog)

2021.07.05 - Added support for Bootstrap 5

Alternatives
------------

[](#alternatives)

- [LavaLite](https://github.com/LavaLite/cms) - requires full project from scratch, cannot be embedded in existing project as package
- [OctoberCms](https://github.com/octobercms/october) - requires full project from scratch, cannot be embedded in existing project as package
- [TypiCms](https://github.com/TypiCMS/Base) - requires full project from scratch, cannot be embedded in existing project as package
- [PyroCMS](https://github.com/pyrocms/pyrocms) - requires full project from scratch, cannot be embedded in existing project as package
- [Laravel8SimpleCms](https://github.com/ozdemirburak/laravel-8-simple-cms) - requires full project from scratch, cannot be embedded in existing project as package
- [Winter](https://github.com/wintercms/winter) - requires full project from scratch, cannot be embedded in existing project as package
- [GraphiteInc CMS](https://github.com/GrafiteInc/CMS) - Archived
- [Twil](https://github.com/area17/twill)

###  Health Score

50

—

FairBetter than 96% of packages

Maintenance44

Moderate activity, may be stable

Popularity27

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity95

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 91.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~43 days

Recently: every ~325 days

Total

62

Last Release

403d ago

Major Versions

v1.2.7 → v2.0.02019-01-13

PHP version history (3 changes)v1.0.0PHP ~5.6|~7.0

v2.5.0PHP ~5.6|~7.0|~8.0

v2.38.0PHP ~5.6|~7.0|~8.0|~9.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/d935723d26f92caa8fb66c4a44cf1995c488734b54e36f5b616ac290a109ab59?d=identicon)[sinevia](/maintainers/sinevia)

---

Top Contributors

[![Sinevia](https://avatars.githubusercontent.com/u/3450815?v=4)](https://github.com/Sinevia "Sinevia (327 commits)")[![lesichkovm](https://avatars.githubusercontent.com/u/7744963?v=4)](https://github.com/lesichkovm "lesichkovm (28 commits)")[![hamrak](https://avatars.githubusercontent.com/u/5807028?v=4)](https://github.com/hamrak "hamrak (1 commits)")

---

Tags

laravelcmssinevia

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/sinevia-laravel-cms/health.svg)

```
[![Health](https://phpackages.com/badges/sinevia-laravel-cms/health.svg)](https://phpackages.com/packages/sinevia-laravel-cms)
```

###  Alternatives

[laravel/jetstream

Tailwind scaffolding for the Laravel framework.

4.1k19.8M136](/packages/laravel-jetstream)[reinvanoyen/cmf

A flexible and extendable solution for all your content management needs

1025.5k](/packages/reinvanoyen-cmf)[astrotomic/stancy

This package aims to provide the most common and flexible CMS features to your Laravel project.

351.3k1](/packages/astrotomic-stancy)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
