Code Monkey home page Code Monkey logo

cakephp-adminlte-theme's Introduction

Stories in Ready

CakePHP AdminLTE Theme

Installation

You can install using composer.

composer require maiconpinto/cakephp-adminlte-theme

Enable Plugin

// config/bootstrap.php

Plugin::load('AdminLTE', ['bootstrap' => true, 'routes' => true]);

Enable theme

// src/Controller/AppController.php

public function beforeRender(Event $event)
{
    $this->viewBuilder()->setTheme('AdminLTE');
}

Enable Form

// src/View/AppView.php

public function initialize()
{
    $this->loadHelper('Form', ['className' => 'AdminLTE.Form']);
}

Configure (deprecated in 1.0.6)

// src/Controller/AppController.php
use Cake\Core\Configure;

public function beforeRender(Event $event)
{
    // ...
    $this->set('theme', Configure::read('Theme'));
}
// To customize configuration paste it at end of file config/bootstrap.php

Configure::write('Theme', [
    'title' => 'AdminLTE',
    'logo' => [
        'mini' => '<b>A</b>LT',
        'large' => '<b>Admin</b>LTE'
    ],
    'login' => [
        'show_remember' => true,
        'show_register' => true,
        'show_social' => true
    ],
    'folder' => ROOT,
    'skin' => 'blue' // default is 'blue'
]);

Customize Layout (deprecated in 1.0.6)

Replace the files according to the image.

Dashboard

  1. src/Template/Element/nav-top.ctp
  2. src/Template/Element/aside-main-sidebar.ctp
  3. src/Template/Element/aside/user-panel.ctp
  4. src/Template/Element/aside/form.ctp
  5. src/Template/Element/aside/sidebar-menu.ctp
  6. src/Template/Element/aside-control-sidebar.ctp
  7. src/Template/Element/footer.ctp

Remember to remove the initial PHP block and the final closing brace when copying the desired template element to customize.

Customize Layout (from 1.0.6)

// src/Controller/AppController.php
use Cake\Core\Configure;

public function beforeRender(Event $event)
{
    // ...
    $this->viewBuilder()->setClassName('AdminLTE.AdminLTE');
}

After you enable the AdminLTEView class in the AppController.php file, you can overwrite any View file, only by creating the Plugin/AdminLTE/ folder inside the Template folder.

For example, to overwrite the elements files, you must create them as follows:

  1. src/Template/Plugin/AdminLTE/Element/nav-top.ctp
  2. src/Template/Plugin/AdminLTE/Element/aside-main-sidebar.ctp
  3. src/Template/Plugin/AdminLTE/Element/aside/user-panel.ctp
  4. src/Template/Plugin/AdminLTE/Element/aside/form.ctp
  5. src/Template/Plugin/AdminLTE/Element/aside/sidebar-menu.ctp
  6. src/Template/Plugin/AdminLTE/Element/aside-control-sidebar.ctp
  7. src/Template/Plugin/AdminLTE/Element/footer.ctp

The biggest news is that you can override elements also for prefixes. This means that you can have a footer element, for an environment that has an Admin prefix, and a different footer element for the environment that has no prefix.

For example:

  1. src/Template/Plugin/AdminLTE/Element/footer.ctp
  2. src/Template/Plugin/AdminLTE/Admin/Element/footer.ctp

In summary, the sequence of folders in which to check if that file exists is as follows:

  1. src/Template/Plugin/$theme/Plugin/$plugin/$prefix/
  2. src/Template/Plugin/$theme/Plugin/$plugin/
  3. src/Template/Plugin/$theme/$prefix/
  4. src/Template/Plugin/$theme/

For example, Let's say:

  • $theme = 'AdminLTE';
  • $plugin = 'SupportTicket';
  • $prefix = 'Admin';

Therefore, the sequence that would verify the existence of a file, would be the following:

  1. src/Template/Plugin/AdminLTE/Plugin/SupportTicket/Admin/
  2. src/Template/Plugin/AdminLTE/Plugin/SupportTicket/
  3. src/Template/Plugin/AdminLTE/Admin/
  4. src/Template/Plugin/AdminLTE/

For the sake of clarity, let's say you have two environments separated by different prefixes: Panel and Admin.

The Dashboard enviroment has no menu and footer, but Admin has.

To solve this situation is very simple. You should create in the folder src/Template/Plugin/AdminLTE/Panel/ the elements aside/sidebar-menu.ctp and footer.ctp with empty content.

However, for Admin, you should create aside/sidebar-menu.ctp in src/Template/Plugin/AdminLTE/Admin/ or if you want to leave general, regardless of prefix, you should create in src/Template/Plugin/AdminLTE/. Similarly with the footer.ctp.

Page debug

Added link to default page of CakePHP.

Page debug

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

cakephp-adminlte-theme's People

Contributors

ajibarra avatar anthonnygm avatar ferama avatar ignaciocarre avatar lightbyte avatar maiconpinto avatar maxmasetti avatar mirwalk avatar nicolaszanghi avatar nima-rahbar avatar nmeyer-otto avatar waffle-iron avatar yild avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.