Skip to content

Customize Layout

Maicon Pinto edited this page Mar 31, 2018 · 1 revision

Before release 1.0.6

Replace the files according to the image.

Dashboard

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

From release 1.0.6

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

public function beforeRender(Event $event)
{
    // Overwrite AppView class
    $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 follow:

  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.

Clone this wiki locally