sy/bootstrap plugin for adding "CMS" feature in your sy/project based application.
From your sy/project based application directory, run this command:
composer install-plugin cmsIt's equivalent to:
composer require sy/bootstrap-cmsNOTES
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
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');
	}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());
	}
}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
	}
}