Bridge delivers you simple content management system that utilizes best production-tested components and plugins for Yii2.
Add it as Composer dependency by running
$ composer require naffiq/yii2-bridge
Add module declaration to your config file for web config:
<?php
return [
// ... your config
'modules' => [
'admin' => [
'class' => '\naffiq\bridge\BridgeModule',
// Add your projects modules here to keep right routing.
'modules' => [
'customModule' => ['class' => '\app\modules\your\CustomModule']
],
// Add menu item of your content management module to menu
'menu' => [
[
'title' => 'Content',
'url' => ['/admin/content/default/index'],
'active' => ['module' => 'content'],
'icon' => 'list'
]
],
// Alternatively you can define different menu items for different
// roles. In that case it will override default menu items, such as
// settings, users and dashboard
'composeMenu' => function ($user, $roles, $authManager) {
/**
* @var \yii\web\User $user
* @var \Da\User\Model\Role[] $roles
* @var \Da\User\Component\AuthDbManagerComponent $authManager
*/
if (isset($roles['admin'])) {
return require __DIR__ . '/menu-admin.php';
}
if ($user->can('editor')) {
return require __DIR__ . '/menu-editor.php';
}
if (in_array($user->id, $authManager->getUserIdsByRole('manager'))) {
return require __DIR__ . '/menu-manager.php';
}
// Or any other available method
return __DIR__ . '/menu-default.php';
}
]
],
'bootstrap' => [
'admin' // add module id to bootstrap for proper aliases and url routes binding
]
];
And for console config, in order to run migrations:
<?php
return [
// ... your config
'modules' => [
'admin' => ['class' => '\naffiq\bridge\BridgeModule']
],
'bootstrap' => [
'admin' // add module id to bootstrap for proper aliases and url routes binding
]
];
After installing and config setup (including database), you should have installation executable in your vendor folder. You can run all the migrations required with single command:
$ ./vendor/bin/bridge-install
Warning! This command is running with
--interactive=0
flag, which means it will not ask confirmation for it.
After running every step above you should have your admin panel running on /admin
route.
The only thing left is to run command to create users.
Run following command to generate users:
$ php yii user/create EMAIL USERNAME PASSWORD ROLE
So the correct command to create user with admin role for admin panel would be:
$ php yii user/create admin@sitename.kz admin PASSWORD admin
Gii that is provided with bridge is packed with some improvements to basic gii.
When generating model with db fields ending by image
or file
, it would
automatically add corresponding upload behavior.
You can turn this behaviors off by clicking on checkbox in generator interface.
And also it has Bridge CRUD generator
, which will generate necessary fields
inputs and display it nicely to the index table.
Configure your .env
(refer to .env.example
). Run migrations with:
$ ./bin/bridge-install-dev
Bridge comes with console app for development and testing purposes, located in bin
folder.
You can simply execute it with
$ php bin/yii.php CONTROLLER/ACTION [params]
Test package with
$ ./vendor/bin/phpunit