Introduction

Modern & Responsive CakePHP Bootstrap 5 Admin Template for All Your Web Projects

Sash CakePHP is a premium Bootstrap 5 Admin Template that combines modern and minimal design with full flexibility and responsiveness. It's crafted using HTML5, CSS3, and Bootstrap 5, offering seamless customization with SASS integration. Whether you're building a web application, admin dashboard, or project management platform, this template ensures your site stands out with ease.

Support and Updates:

When you purchase Sash, you gain access to free future updates to ensure your template remains up-to-date. Plus, our support team is always ready to assist with any questions.

Dependencies for Sash

What Do You Get with the Sash:

Sash provides all necessary PHP, CSS, SCSS, JS files, along with detailed documentation to help you easily customize and implement the template.

  • All PHP Files
  • CSS Files
  • SCSS Files
  • JS Files
  • Documentation
  • Starterkit

Sash Compatibility with Popular Browsers:

Sash is fully compatible with major browsers, ensuring a seamless user experience across Chrome, Firefox, Safari, Edge, and Opera.

  • Firefox
  • Safari
  • Opera
  • Chrome
  • Edge

Folder Structure

Main php Layout Page Structure

Main php Layout file structure of the Sash template. Root:templates/layout/default.php

The default.php file serves as the base file for all PHP pages in the Sash template.

html

    <!DOCTYPE html>
<html lang="en" dir="ltr" data-nav-layout="vertical" data-theme-mode="light" data-header-styles="light" data-menu-styles="light" data-toggled="close">
    
    <head>

        <!-- Meta Data -->
        <meta charset="UTF-888">
        <meta name='viewport' content='width=device-width, initial-scale=1.0'>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="Description" content="CakePHP Bootstrap Responsive Admin Web Dashboard Template">
        <meta name="Author" content="Spruko Technologies Private Limited">
        <meta name="keywords" content="admin bootstrap dashboard, admin panel bootstrap template, admin panel template, bootstrap 5 admin dashboard, bootstrap 5 admin template, bootstrap dashboard template, bootstrap user interface, cake php framework, cakephp admin dashboard, cakephp admin panel, cakephp admin template, cakephp bootstrap ui, cakephp dashboard template, dashboard admin bootstrap, dashboard admin template.">
        
        <!-- Title -->
        <title>Sash - CakePHP Bootstrap 5 Premium Admin & Dashboard Template</title>

        <!-- Favicon -->
        <link rel="icon" href="<?php echo $this->Url->image('brand-logos/favicon.ico'); ?>" type="image/x-icon">

        <!-- Start::Styles -->
        <?= $this->element('styles'); ?>
        <!-- End::Styles -->
        
    </head>
    
    <body>

        <!-- Start::main-switcher -->
        <?= $this->element('switcher'); ?>	
        <!-- End::main-switcher -->

        <!-- Loader -->
        <div id="loader" >
            <img src="<?php echo $this->Url->image('media/loader.svg'); ?>" alt="">
        </div>
        <!-- Loader -->

        <div class="page">

            <!-- Start::app-header -->
            <?= $this->element('app-header'); ?>
            <!-- End::app-header -->

            <!-- Start::app-sidebar -->
            <?= $this->element('app-sidebar'); ?>
            <!-- End::app-sidebar -->

            <!-- Start::app-content -->
            <div class="main-content app-content">
                <div class="container-fluid">
                    
                    <?= $this->fetch('content') ?>
                    
                </div>
            </div>
            <!-- End::app-content -->

            <!-- Start::main-modal -->
            <?= $this->element('modal'); ?>
            <!-- End::main-modal -->

            <!-- Start::right-sidebar -->
            <?= $this->element('right-sidebar'); ?>
            <!-- End::right-sidebar -->

            <!-- Start::main-footer -->
            <?= $this->element('footer'); ?>
            <!-- End::main-footer -->

        </div>

        <!-- Start::main-scripts -->
        <?= $this->element('scripts'); ?>
        <!-- End::main-scripts -->

    </body>
    
</html>
    
PHP Page View Code (for example, the PHP "example.php" file code)

code

<?php $this->start('styles'); ?>

<?php $this->end(); ?>
	

<?php $this->start('scripts'); ?>
	
<?php $this->end(); ?> 
  • First, unzip the project folder that you received from us.
  • Navigate as shown Example: C:\xampp\htdocs\sash\templates\Pages Open Pages folder will have 137 php pages
  • Navigate as shown Example: C:\xampp\htdocs\sash\templates\element\ Open element folder there you will find footer.php, app-header.php, app-sidebar.php, modal,php, scripts.php, styles.php, and switcher.php etc files
  • Navigate as shown Example: C:\xampp\htdocs\sash\templates\layout\ Open layout folder there you will find default.php, error.php, landing-layout.php files
  • Here default.php file is the base file for all the php pages.
  • Here error.php file is the base file for all custom pages ex: sign-in.php, sign-up.php, error404.php, error500.php, coming-soon.php, create-password.php and reset-password.php etc..,
  • Here landing-layout.php file is the base file for only landing page ex: landing.php

Installation Process of Composer

In order to run CakePHP we need to install composer by the followingsteps
Steps to Download & Installation of Composer

Step1: Please visite the Official Web Site of the Composer www.getcomposer.org

Step2: Click on the Download option

Step3: Click on the Composer-Setup.exe you are done with download

Step4: Now Right click on the Composer-Setup.exe file and select Run as administrator click on Yes

Step5: You'll be getting two options click as per your choice

Step6: I choose Recommended option here and if your developer you can check the box of the Developer Mode

Step7: And click on the Next button please make sure of installation path and then click Next

Step8: You'll be asked to enter proxy url please skip the step and click on the Next button

Step9: Please make sure with the PHP Version it should not be less than 7.3 V, here we used 8.2.12 Version and then click on the next button

Step10: To confirm that Composer is installed in your system then type Composer in command prompt (if you are using XAMPP then go to C:\xampp\htdocs location and type composer)

How to Run CakePHP Project in localhost

If you have installed XAMPP on your machine then please follow the below steps

Step:1 Quick view of Installations

1. Download and Install the Composer from official site https://getcomposer.org/

2. Install Cake PHP by using Composer as mentioned in the installation process above.

Step:2 Run project

1. Extract the zip folder of the Cake PHP project in the path: EX: C:\xampp\htdocs\ that you have received after purchase.

2. Once the extraction is completed for accessing the Cake PHP project, open command prompt or terminal and set your project root path: Example: C:\xampp\htdocs\

3. Open the terminal and set the root path of your template and then run the following command: "composer install" only if it is required to update your "vendor" directory.

4. Now run the below commands in the terminal to get the output of the project. To get the node_modules install.

code

 npm install 

Then, run the following command to build the assets.

code

gulp

5. Open a new terminal in the same root path, then run the following command to start the CakePHP server:

code

 bin/cake server 

6. In my case, the CakePHP Development Server is started at http://localhost:8765 port, but it might be different port in your case.

7. Copy the url and past it in your favorite browser and hit enter to access your project

Purpose of a Starter Kit

Introduction to the CakePHP Starter Kit:

The CakePHP starterkit is a resource that helps developers kickstart their CakePHP web development projects by providing a preconfigured and ready-to-use template. It aims to simplify the initial setup and provide a foundation for building CakePHP Framework-based websites or applications.

Purpose of the CakePHP Starter Kit:

The purpose of the CakePHP starter kit is to save developers time and effort by offering a set of prebuilt files and configurations commonly used in CakePHP projects. Instead of starting from scratch, developers can leverage the starter kit to quickly set up a project structure that adheres to best practices and industry standards.

Benefits of Using the CakePHP Starter Kit:

The starter kit eliminates the need to set up the basic project structure manually. It provides a well-organized file and folder structure, including commonly used directories for separating code, templates, assets, and configuration files. This allows developers to focus more on implementing business logic rather than spending time on initial setup.

Starterkit Overview

You can use the Starterkit if you are creating a new project. It will be time-consuming to use the full admin version for a new project as Sash have more than 137 pages.

We have provided all the pre-build layouts like Sidemenu, Header, footer and blank pages etc in the Starterkit.

For further information or support regarding the template, please contact us using the provided link: https://support.spruko.com/

  • Take a quick look at the folder structure of the "Starterkit."
  • Integration of your customized PHP pages becomes easy when using the "Starterkit."
  • The "Starterkit" provides all the layout components, related assets, and plugins.
  • To explore the contents of the "Starterkit," unzip the project folder received after purchase.
  • Navigate to the following paths:
  • Example: C:/projectname/templates/layout/- This folder contains files such as ajax.php, default.php and error.php files.
  • Example: C:/projectname/templates/element/- This folder contains files such as app-header.php, app-sidebar.php and footer.php, and switcher.php pages.
  • Example: C:/projectname/templates/Pages/- This folder contains files such as home.php, files and etc..,.

Sash comes with power of Gulp

Gulp is a popular JavaScript task runner that automates common development tasks, such as compiling Sass to CSS, minifying JavaScript and CSS files, optimizing images, and more. Gulp allows developers to define tasks that process files in a project, and then run those tasks automatically when files are changed or when specific commands are issued.for more information about gulp Check here.

Prerequisites:

To install and set up all the prerequisites, follow these steps:

Ensure that Node.js is installed and running on your computer. If Node.js is already installed, you can skip this step. Otherwise, install it on your computer.

If you want to install and use the latest version of Node.js, you can find the necessary instructions on the official website.

To set up gulp, you need to install it globally on your system. Run one of the following commands in your terminal:

code

 npm install -g gulp
or

code

 npm install --save-dev gulp
Installation

Please follow below steps to install and setup all pre requisites:

Make sure to have all above pre requisites installed & running in your computer

Open your terminal, go to your folder and enter below command. This would install all required dependencies in node_modules folder.

code

 npm install
Build Production File

After completing the above steps, run the following command from the project root (Sash/) in your terminal or command prompt:

code

 gulp

Note:-Ensure all required node_modules are installed to run the gulp tasks successfully.

The following command performs several tasks to streamline your development workflow below are some of the task it performs :

  1. Generates the libs/ and CSS/ folders directory

FAQ'S

Step 1:

Go To style.scss (webroot/scss/styles.scss )

if you want to change another font-family Go to the site Google Fonts And Select One font Family and import in to styles.scss file

How to Select font Family

Step 2:

And paste Your Selected font-family in style.scss

Step 3:

And add the Your Selected font-family in _variables.scss(webroot/scss/_variables.scss)

code

--default-font-family: "IBM Plex Sans", sans-serif;

Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.

By default menu icons are feather icons if you want to change To change Menu icons, open app-sidebar.php page Path:templates/element/app-sidebar.php and go through app-sidebar section, in that section you will find feather icons of menu in i tag, there you can replace previous icon with your icon. Example as shown in below

Before: (feather icons)

html

After: (bootstrap Icons)

html

Go To "webroot/img/brand-logos" folder and replace your logo with Previous Logos within in image size. note: Please don't increase logo sizes. Replace your logo within given image size. otherwise the logo will not fit in particular place it disturbs the template design.

Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.

Step1:

To clear LocalStorage loading functions you need to remove localStorageBackup2() function in custom-switcher.min.js webroot/js/custom-switcher.min.js as shown below

javascript

function localStorageBackup2() {}
Step2:

To remove complete LocalStorage saving you need to remove all localstorage related calling functions like localStorage.setItem, localStorage.removeItem, localStorage.getItem, localStorage.clear in custom-switcher.min.js webroot/js/custom-switcher.min.js file.Below are the some examples to find out.

javascript

localStorage.setItem( );
localStorage.removeItem( );
localStorage.getItem( )
localStorage.clear();
localStorageBackup();
Step3:

To remove complete LocalStorage saving you also need to remove main.js link present in styles.php Path:templates/element/styles.php as shown below

html


<!-- Main Theme Js -->
<?= $this->Html->script(['main']) ?>
                                                                    
                                                                

Step1:

To remove switcher path remove below code shown in default.php templates/layout/default.php file

html

<!-- Start::main-switcher -->
<?= $this->element('switcher'); ?>
<!-- End::main-switcher -->
Step2:

After removing switcher path in default.php page then change app-header to app-header1 for switcher icon code shown below in default.php page

html

 Before :
    <!-- Start::app-header -->
    <?= $this->element('app-header'); ?>
    <!-- End::app-header -->

After :
    <!-- Start::app-header -->
    <?= $this->element('app-header1'); ?>
    <!-- End::app-header -->
Step3:

Go to root path: templates/element/scripts.php open "scripts.php" file and then remove the"custom-switcher.min.js" link as shown below.

html

 Remove Switcher Script :
    <!-- Custom-Switcher JS -->
    <?= $this->Html->script(['custom-switcher.min']) ?>

Step1:

To remove switcher path remove below code shown in landing-layout.php templates/layout/landing-layout.php file

code

<!-- Start::main-switcher -->
<?= $this->element('landingpage/switcher'); ?>
<!-- End::main-switcher -->
Step2:

After removing switcher path in landing-layout.php page then change app-header to app-header1 for switcher icon code shown below in landing-layout.php page

code

 Before :
    <!-- Start::app-header -->
    <?= $this->element('landingpage/app-header'); ?>
    <!-- End::app-header -->

After :
    <!-- Start::app-header -->
    <?= $this->element('landingpage/app-header1'); ?>
    <!-- End::app-header -->
Step3:

Now then change app-sidebar to app-sidebar1 for switcher icon code shown below in landing-layout.php page

code

 Before :
    <!-- Start::app-sidebar -->
    <?= $this->element('landingpage/app-sidebar'); ?>
    <!-- End::app-sidebar -->

After :
    <!-- Start::app-sidebar -->
    <?= $this->element('landingpage/app-sidebar1'); ?>
    <!-- End::app-sidebar -->

Please follow the below steps to change Primary Color
Step 1 :

To change Primary Color you have to open _variables.scss file and replace what color you want as shown in below

Rootpath : _variables.scss (webroot/scss/_variables.scss )

Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.

Please follow the below steps to change Dark body Color
Step 1 :

Make sure the theme is set completely to dark mode by adding the following attributes to the html tag data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"

Step 2 :

To change Dark body Color you have to open _variables.scss file and replace what color you want as shown in below

Rootpath : _variables.scss (webroot/scss/_variables.scss )

Step 3 :

Also Change the following variable colors to the desired theme background accordingly in [data-theme-mode="dark"]

--light-rgb :
--form-control-bg :
--input-border :
--gray-3 :

Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.

Credit's

NPM Plugins & Reference Links

All plugins runs through npm.

If you want new plugins : Install new plugin from npm then run gulp command.

Plugin Version URL
@popperjs/core ^2.11.8 npmjs.com/@popperjs/core
@simonwep/pickr ^1.9.0 npmjs.com/@simonwep/pickr
@tarekraafat/autocomplete.js ^10.2.7 npmjs.com/@tarekraafat/autocomplete.js
@yaireo/dragsort ^1.3.2 npmjs.com/@yaireo/dragsort
@yaireo/tagify ^4.34.0 npmjs.com/@yaireo/tagify
animejs ^3.2.2 npmjs.com/animejs
apexcharts ^5.3.6 npmjs.com/apexcharts
autoprefixer ^10.4.19 npmjs.com/autoprefixer
Bootstrap ^5.3.8 npmjs.com/bootstrap
browser-sync ^3.0.3 npmjs.com/browser-sync
chart.js ^4.5.1 npmjs.com/chart.js
choices.js ^10.2.0 npmjs.com/choices.js
clean-css ^5.3.3 npmjs.com/clean-css
cleave.js ^1.6.0 npmjs.com/cleave.js
cssnano ^7.0.4 npmjs.com/cssnano
dragula ^3.7.3 npmjs.com/dragula
dropzone ^6.0.0-beta.2 npmjs.com/dropzone
dual-listbox ^2.0.0 npmjs.com/dual-listbox
echarts ^5.5.1 npmjs.com/echarts
fg-emoji-picker ^1.0.1 npmjs.com/fg-emoji-picker
filepond ^4.31.1 npmjs.com/filepond
flatpickr ^4.6.13 npmjs.com/flatpickr
fullcalendar ^6.1.20 npmjs.com/fullcalendar
glightbox ^3.3.0 npmjs.com/glightbox
gmaps ^0.4.25 npmjs.com/gmaps
gridjs ^6.2.0 npmjs.com/gridjs
intl-tel-input ^19.5.6 npmjs.com/intl-tel-input
isotope-layout ^3.0.6 npmjs.com/isotope-layout
jsvectormap ^1.7.0 npmjs.com/jsvectormap
leaflet ^1.9.4 npmjs.com/leaflet
moment 2.9.0 npmjs.com/moment
node-waves ^0.7.6 npmjs.com/node-waves
nouislider ^15.8.1 npmjs.com/nouislider
particles.js ^2.0.0 npmjs.com/particles.js
plyr ^3.7.8 npmjs.com/plyr
prismjs ^1.29.0 npmjs.com/prismjs
quill ^2.0.3 npmjs.com/quill
rater-js ^1.0.1 npmjs.com/rater-js
rename ^1.0.4 npmjs.com/rename
shepherd.js ^11.2.0 npmjs.com/shepherd.js
simplebar ^6.2.7 npmjs.com/simplebar
slick-slider ^1.8.2 npmjs.com/slick-slider
sortablejs ^1.15.2 npmjs.com/sortablejs
sweetalert ^2.1.2 npmjs.com/sweetalert
sweetalert2 ^11.10.1 npmjs.com/sweetalert2
swiper ^8.4.5 npmjs.com/swiper
toastify-js ^1.12.0 npmjs.com/toastify-js
uglify ^0.1.5 npmjs.com/uglify
vanilla-wizard ^0.0.7 npmjs.com/vanilla-wizard
wnumb ^1.2.0 npmjs.com/wnumb
Fonts Credit
Font References
Google Fonts https://fonts.google.com/
Sidemenu Icons
Icon References
Feather Icons https://fonts.google.com/

Switcher styles

html

<html lang="en" dir="ltr" data-nav-layout="vertical" data-theme-mode="light" data-header-styles="light" data-menu-styles="light" data-toggled="close">

Light:

html

data-theme-mode="light" data-header-styles="light" data-menu-styles="light"
Dark:

html

data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"

LTR (Left to Right):

html

dir="ltr"
RTL (Right to Left):

html

dir="rtl"

Vertical:

html

data-nav-layout="vertical"
Horizontal:

html

data-nav-layout="horizontal" data-nav-style="menu-click"

Default:

Menu Click

data-nav-style="menu-click"
Menu Hover

html

data-nav-style="menu-hover"
Icon Click:

html

data-nav-style="icon-click"
Icon Hover:

html

data-nav-style="icon-hover"

Regular:

html

data-page-style="regular"
Classic:

html

data-page-style="classic"

Default Width:

html

data-width="default"
Full Width:

html

data-width="fullwidth"
Fixed:

html

data-menu-position="fixed"
Scrollable:

html

data-menu-position="scrollable"

Fixed:

html

data-header-position="fixed"
Scrollable:

html

data-header-position="scrollable"

Closed:

html

data-vertical-style="closed"
Icontext:

html

data-vertical-style="icontext"
Overlay:

html

data-vertical-style="overlay"
Detached:

html

data-vertical-style="detached"
Doublemenu:

html

data-vertical-style="doublemenu"

Enable:

html

loader="enable"
Disable:

html

loader="disable"

Light Style:

html

data-menu-styles="light"
Dark Style:

html

data-menu-styles="dark"
Color Style:

html

data-menu-styles="color"
Gradient Style:

html

data-menu-styles="gradient"
Transparent Style:

html

data-menu-styles="transparent"

Light Style:

html

data-header-styles="light"
Dark Style:

html

data-header-styles="dark"
Color Style:

html

data-header-styles="color"
Gradient Style:

html

data-header-styles="gradient"
Transparent Style:

html

data-header-styles="transparent"

Background Image Style-1:

html

data-bg-img="bgimg1"
Background Image Style-2:

html

data-bg-img="bgimg2"
Background Image Style-3:

html

data-bg-img="bgimg3"
Background Image Style-4:

html

data-bg-img="bgimg4"
Background Image Style-5:

html

data-bg-img="bgimg5"
Information
Need Help ?
Support Help Desk
Technical issues? Our support team is ready to help.
Pre-Sales
Have questions before purchasing? Contact our pre-sales team.
Pre-Sales Chat
Get immediate answers through our live chat support.