sy / bootstrap-cms
Plugin for adding CMS feature
1.26.1
2026-04-05 21:30 UTC
Requires
- php: >=7
- masterminds/html5: ^2.8
- scssphp/scssphp: *
- sy/bootstrap: *
Requires (Dev)
- phpunit/phpunit: ^10
This package is auto-updated.
Last update: 2026-06-05 21:53:49 UTC
README
sy/bootstrap plugin for adding "CMS" feature in your sy/project based application.
Installation
From your sy/project based application directory, run this command:
composer install-plugin cms
It's equivalent to:
composer require sy/bootstrap-cms
NOTES
The install-plugin command will do all these following steps:
- Run composer require
- Copy templates files
- Create flyway migration file
- Copy assets files
- Run composer build
- Run composer db migrate
Page methods
Create a method in your Project\Application\Page class (in protected/src/Application/Page.php):
/** * Content page */ public function contentAction() { $this->setContentVars([ 'CONTENT' => new \Sy\Bootstrap\Component\Cms\Content($this->get('id', 1)), ]); }
Optionally, override the home page with the content page
/** * Home page */ public function homeAction() { $this->copy('content'); }
Add URL converter in Application.php
In protected/src/Application.php
<?php namespace Project; use Sy\Bootstrap\Lib\Url; class Application extends \Sy\Bootstrap\Application { protected function initUrlConverter() { Url\AliasManager::setAliasFile(__DIR__ . '/../conf/alias.php'); Url::addConverter(new Url\AliasConverter()); Url::addConverter(new Url\ContentConverter()); // Add the content URL converter Url::addConverter(new Url\ControllerActionConverter()); } }
Add the content pages sitemap in Sitemap.php
In protected/src/Application/Sitemap.php
<?php namespace Project\Application; class Sitemap extends \Sy\Bootstrap\Application\Sitemap { public function __construct() { parent::__construct(); $this->addProvider(new \Sy\Bootstrap\Application\Sitemap\Page()); $this->addProvider(new \Sy\Bootstrap\Application\Sitemap\Content()); // Add the content sitemap } }