multiplane / cockpit-cms-multiplane
Addon to add frontend logic to the headless Cockpit CMS v1
Requires
- composer/installers: ^1.9
This package is auto-updated.
Last update: 2024-11-24 20:38:03 UTC
README
This addon is currently in a rewrite stage. Information below may not be accurate.
Main part of Multiplane to add frontend logic to the headless Cockpit CMS v1.
This addon should be installed as part of the multiplane/multiplane repository. See installation instructions over there.
Features
TODO: cleanup/update
- pages and sub pages (e. g. posts)
- multilingual with language prefix, e. g.:
example.com/en/my-page
- 2 modes for structured content
- one collection per content type, e. g. a collection named
pages
and a collection namedposts
- a single collection named
pages
- each entry has a typepage
orpost
(experimental)
- one collection per content type, e. g. a collection named
- maintenance mode with option for allowed ips
- simple content preview while editing pages
- two basic responsive themes with scss files
- simple privacy notice banner, that gets enabled when clicking on video link
- contact forms - fully functional without javascript
- pre-rendering of markdown fields
- multiple ways to change everything
- full-text search
- sitemap
- atom feeds (experimental)
- ...
Requirements
- PHP >= 8.0
- PDO + SQLite (or MongoDB - not tested)
- GD extension
- pecl intl extension (optional)
- mod_rewrite, mod_versions enabled (on apache)
Make also sure that $_SERVER['DOCUMENT_ROOT']
exists and is set correctly.
Installation
This addon should be installed as part of the multiplane/multiplane repository. See installation instructions over there.
Installation as arbitrary cockpit addon (not recommended)
Copy this repository into /addons
and name it Multiplane
or use the cli.
via git
cd path/to/cockpit
git clone https://codeberg.org/multiplane/cockpit-cms-Multiplane.git addons/Multiplane
via cp cli
cd path/to/cockpit
./cp install/addon --name Multiplane --url https://codeberg.org/multiplane/cockpit-cms-Multiplane/archive/main.zip
via composer
Make sure, that the path to cockpit addons is defined in your projects' composer.json
file.
{
"name": "my/cockpit-project",
"extra": {
"installer-paths": {
"addons/{$name}": ["type:cockpit-module"]
}
}
}
cd path/to/cockpit-root
composer create-project --ignore-platform-reqs raffaelj/cockpit .
composer config extra.installer-paths.addons/{\$name} "type:cockpit-module"
composer require --ignore-platform-reqs multiplane/cockpit-cms-multiplane
Config
Create a profile, name it my-profile
and set multiplane to the profile name.
Example config/config.php
:
return [
'app.name' => 'My app',
// define Multiplane config via profile
'multiplane' => [
'profile' => 'my-profile',
],
// content i18n
'i18n' => 'en',
'languages' => [
'default' => 'English',
'de' => 'Deutsch',
],
// app i18n
'babel' => [
'languages' => [
'de' => 'Deutsch',
'fr' => 'Francais',
],
],
];
Reserved routes
TODO: cleanup/update
/login
- Callingexample.com/login
reroutes to the admin folder, e. g.example.com/cockpit
/search
- full-text search/getImage
- Calling/getImage?src=assets_id?w=100&h=100&m=thumbnail
returns images/thumbnails with predefined settings, that can be adjusted with params/submit/form_name
and/form/form_name
- for forms/clearcache
to clear cockpit's cache (only in debug mode)
Copyright and License
Copyright 2019 Raffael Jesche under the MIT license.
See LICENSE for more information.
Credits and third party resources
Without Cockpit CMS, Multiplane couldn't exist. Thanks to Artur Heinze and to all contributors.