This plugin is designed to make admin areas baked from CakePHP look a little nicer and be easier to use and understand.
- CakePHP 3.x
- PHP 5.4.16+
- TwitterBootstrap (optional - just for styling)
Helper for replacing the 'Actions' cell contents in index views with buttons rather than textual links.
Helper for replacing a Status column in an index view with a nice coloured label based on the status_id.
This will change boolean display fields into ticks (✔) and crosses (✘) rather than 1/0.
composer require davidyell/nice-admin:dev-master
The plugin will need to be loaded using Plugin::load('NiceAdmin')
in your /config/bootstrap.php
.
To use the helpers you will need to add them to your helpers array in your AppView
.
$this->loadHelper('NiceAdmin.StatusLights', $options);
$this->loadHelper('NiceAdmin.Actions');
$this->loadHelper('NiceAdmin.Gravatar');
$this->loadHelper('NiceAdmin.Boolean');
You can pass in an array of options into the StatusLights helper. The key of the array is the status_id
then an
array of the label
to display and the class
of the item output.
$options = [
1 => [
'label'=>'Live',
'class'=>'label label-success'
],
2 => [
'label'=>'Inactive',
'class'=>'label label-inverse'
],
3 => [
'label'=>'Deleted',
'class'=>'label'
]
);
The example here replicates the default settings in the helper. So if you are happy with the defaults, you don't need to pass these options in.
This will convert a status link into a nice visually identifiable label.
<td>
<?= $this->StatusLights->status($entity->id); ?>
</td>
You can output either buttons or icons depending on which you need. The helper will, by default, output all three links
as buttons. Passing in an array of buttons you want to ouput as v
,e
and/or d
. For 'View', 'Edit', and 'Delete'.
Then you'll need to pass in the controller. The last option is either icons
or buttons
.
<td class="actions">
<?php echo $this->Actions->actions($entity->id, ['e','d'], 'myController', 'icons');?>
</td>
Similar to the StatusLights helper you can pass in an array of options to customise the display of the output.
$optons =
1 => [ // true
'class'=>'badge badge-success',
'display'=>'✔'
],
0 => [ // false
'class'=>'badge badge-important',
'display'=>'✘'
]
)
<?= $this->Boolean->display(1); ?>
Let me know what features you'd like or feel free to fork and create a pull request.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.