Our Work

Yii2 theme integration for your application

Updated 1 month and 27 days ago

First, you’ll need to create a folder named "themes" in the root directory.

Next, Create a "demo" folder  in "themes" and create JS & CSS sub folders in "themes"

Now Add the theme related JS and CSS files in JS and CSS folder.

Create a folder named "web" and add a new Asset File which holds all js and css files.

You can configure DemoThemeAsset.php in the following way:

namespace app\themes\demo\web;
use yii\web\AssetBundle;
* AssetBundle
* @since 0.1
class DemoThemeAsset extends AssetBundle {
    public $sourcePath = '@app/themes/demo';
    public $css = ['css/demo.css'];
    public $js = ['js/demo.js', ];
    public $depends = ['yii\web\JqueryAsset', 'yii\bootstrap\BootstrapAsset', 'yii\bootstrap\BootstrapPluginAsset', 'yii\jui\JuiAsset', ];
    public $cssOptions = ['position' => \yii\web\View:
         * @inheritdoc
        public function init() {

You'll need to create a header.php, footer.php and main.php files in themes/demo/views/layouts folder.

Add the following details in header.php file.

//Add HTML to display in the header

Add the following details in main.php file.

<?php /* @var $this \yii\web\View */ /* @var $content string */ use ktree\app\helpers\Url; use app\themes\demo\web\clinicThemeAsset; use yii\widgets\Breadcrumbs; use yii\helpers\Json; clinicThemeAsset::register($this); ?>
<?php $this->beginContent('@app/views/layouts/base.php'); ?>
<?=$ this->render('@app/views/layouts/header.php') ?>
   <!-- Breadcrumbs -->
   <div class="breadcrumbs">
      <div class="container">
         <div class="row">
            <div class="col-xs-12">
               <?=B readcrumbs::widget( [ 'links'=> isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [], 'options' => ['class' => 'breadcrumb'], ] ) ?>
   <!-- Breadcrumbs End -->
   <div class="container">
      <?=$ content; ?>
   <?=$ this->render('@app/views/layouts/footer.php') ?>
      <?php $this->endContent(); ?>

Add below array in config/main.php components section

'view' => [
'theme' => [
'basePath' => '@app/themes/demo',
'baseUrl' => '@app/themes/demo',
'pathMap' => [
'@app/views' => '@app/themes/demo/views',


KTree is one of the most respected PHP Web Application Development company in India with more than 1300+ web applications built on PHP/YII/Laravel/Zend. Please Contact KTree for any Web Application Development requirements.

KTree has specialized teams for open source products/frameworks such as Yii2, Magento, Laravel, WordPress, Drupal, Joomla, PrestaShop etc. These PHP experts have done multiple project implementations using these Open Source Products.