yii2-cms
CMS based on Yii 2 framework, (*1)
Yii 2 CMS Based upon Practical-B Application Template
Yii2 CMS is being developed as an alternative to all the heavy CMS out there that provide more than ever wanted,
without giving the flexibility required by a web developer to build a site with simple forms for an admin or a
moderator to add content and nothing more. Based on the Yii Framework and the
Yii 2 Practical-B Application Template by
Kartik Visweswaran., (*2)
What does it provide?
Models created with migrations for posts, photo upload, redactor plugin for editing., (*3)
Yii2-practical-b
The Yii 2 Practical-B Application Template is a skeleton Yii 2 application based on the
yii2-basic template best for
rapidly creating small projects. The template allows a practical method to directly
access the application from the app root., (*4)
The template contains the basic features including user login/logout and a contact page.
It includes all commonly used configurations that would allow you to focus on adding new
features to your application., (*5)
SOME KEY ADDITIONS
- User Module
- RBAC Module
- Redactor Plugin
DIRECTORY STRUCTURE
/ contains the entry script and web resources
assets/ contains the web runtime assets
assets_b/ contains application assets such as JavaScript and CSS
commands/ contains console commands (controllers)
config/ contains application configurations
controllers/ contains Web controller classes
mail/ contains view files for e-mails
models/ contains model classes
runtime/ contains files generated during runtime
tests/ contains various tests for the yii2-practical-b application
vendor/ contains dependent 3rd-party packages
views/ contains view files for the Web application
REQUIREMENTS
The minimum requirement by this application template is that your Web server supports PHP 5.4.0., (*6)
INSTALLATION
Install from an Archive File
Will support this after first release., (*7)
Install via Composer
If you do not have Composer, you may install it by following the instructions
at getcomposer.org., (*8)
You can then install this application template using the following command:, (*9)
php composer.phar global require "fxp/composer-asset-plugin:1.0.0"
php composer.phar create-project --prefer-dist romdim/yii2-cms yii2-cms
Now you should be able to access the application through the following URL, assuming yii2-cms
is the directory
directly under the Web root., (*10)
http://localhost/yii2-cms
CONFIGURATION
Cookie Validation Key
Edit the file config/web.php
with a cookie validation key, for example:
8qMRb7Z4pO9uQ6180jVq8L10KMprgbd2
, (*11)
NOTE: You can generate random keys here!, (*12)
Database
Edit the file config/db.php
with real data, for example:, (*13)
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii2cms',
'username' => 'root',
'password' => '1234',
'charset' => 'utf8',
];
NOTE: Yii won't create the database for you, this has to be done manually before you can access it., (*14)
Also check and edit the other files in the config/
directory to customize your application., (*15)
Updating database schema
After you downloaded and configured yii2-cms, the last thing you need to do is updating your database schema by applying
the migration:, (*16)
$ php yii migrate/up
Administering users
By applying the migrations above, an admin, an editor and the according roles are created.
Admin's role is hardcoded in the user module within the web.php
. The editor role is applied to both the aforementioned new users., (*17)
Login with:, (*18)
admin
admin
or, (*19)
editor
editor
As an admin you can manage the users at page:, (*20)
http://localhost/yii2-cms/user/admin
Setting Upload Folder
if you want to change the upload directory.
to path/to/uploadfolder
default value @webroot/uploads
, (*21)
'modules' => [
'redactor' => [
'class' => 'yii\redactor\RedactorModule',
'uploadDir' => '@webroot/path/to/uploadfolder',
'uploadUrl' => '@web/path/to/uploadfolder',
'imageAllowExtensions'=>['jpg','png','gif']
],
],
note: You need to create uploads folder and chmod and set security for folder upload
reference: Protect Your Uploads Folder with .htaccess,
How to Setup Secure Media Uploads, (*22)
Config view/form, (*23)
<?= $form->field($model, 'body')->widget(\yii\redactor\widgets\Redactor::className()) ?>