CMS based on Yii 2 framework
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.
Models created with migrations for posts, photo upload, redactor plugin for editing.
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.
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.
/ 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
The minimum requirement by this application template is that your Web server supports PHP 5.4.0.
Will support this after first release.
If you do not have Composer, you may install it by following the instructions at getcomposer.org.
You can then install this application template using the following command:
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.
http://localhost/yii2-cms
Edit the file config/web.php
with a cookie validation key, for example:
8qMRb7Z4pO9uQ6180jVq8L10KMprgbd2
NOTE: You can generate random keys here!
Edit the file config/db.php
with real data, for example:
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.
Also check and edit the other files in the config/
directory to customize your application.
After you downloaded and configured yii2-cms, the last thing you need to do is updating your database schema by applying the migration:
$ php yii migrate/up
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.
Login with:
admin
admin
or
editor
editor
As an admin you can manage the users at page:
http://localhost/yii2-cms/user/admin
if you want to change the upload directory.
to path/to/uploadfolder
default value @webroot/uploads
'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
Config view/form
<?= $form->field($model, 'body')->widget(\yii\redactor\widgets\Redactor::className()) ?>