Download the PHP package scherersoftware/cake-cms without Composer
On this page you can find all versions of the php package scherersoftware/cake-cms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download scherersoftware/cake-cms
More information about scherersoftware/cake-cms
Files in scherersoftware/cake-cms
Package cake-cms
Short Description Block-based Content Management System for CakePHP 3
License MIT
Informations about the package cake-cms
CakePHP 3 cake-cms
Block-based Content Management System for CakePHP 3
Installation
Load the plugin in your config/bootstrap.php
Plugin::load('Cms', ['bootstrap' => true, 'routes' => true]);
Add the Dispatcher Filter for CMS Widget assets to the corresponding section in your config/bootstrap.php
DispatcherFactory::add('Cms.WidgetAsset');
Add tables via Migrations Plugin
bin/cake migrations migrate --plugin Cms
Add configuration to your config/app.php
'Cms' => [
'Administration' => [
'layout' => 'Admin.default', // Layout to use for the CMS admin area
'helpers' => [
'CkTools.Menu' // Helpers to load in the CMS admin area
]
]
]
Configure a route for the frontend rendering of CMS pages (use this example and adapt to your requirements)
$routes->connect('/:slug', Configure::read('Cms.Frontend.renderAction'), ['routeClass' => 'Cms.SlugRoute']);
Using Page Attributes
It is possible to define arbitrary page attributes to save additional data for a CMS page without having to modify the CMS schema. Data will be saved as JSON in the cms_pages.page_attributes
field.
The CMS will look in the Pages.attributes
path of your CMS configuration. Configuration looks like this:
'Pages' => [
'attributes' => [
'public' => [
'type' => 'boolean',
'label' => 'Publicly Available',
'default' => true
],
'keywords' => [
'type' => 'text',
'label' => 'Keywords',
'default' => ''
]
]
]
Based on this configuration, input fields will be rendered in a separate "Attributes" tab in the edit screen. Attributes can later be fetched using eiher CmsPage::getAttributes()
or CmsPage::getAttribute($attribute)
.
Example:
$this->loadComponent('Cms.Cms', [
'permissionsCallback' => function (CmsPage $page) use ($controller) {
return $page->getAttribute('public');
}
]);
All versions of cake-cms with dependencies
codekanzlei/cake-cktools Version 2.*
codekanzlei/cake-frontend-bridge Version v2.0.0-rc3 as 1.4.11
codekanzlei/cake-attachments Version *
codekanzlei/cake-model-history Version *