Hi,
I am using Yii2 basic. I am developing a web application using Yii2. I am using Admin LTE as a layout when user logs into the system. I have created a seperate layout file as main.php, one new DashboardAsset file, which will be vissible to users after log in. I have created menus and everything is working fine. But the first menu is Dashboard. I am using Admin LTE version 2.4.4 I hsve attached the files. Now when I click on Dashboard menu it is not working. As I am using slimScroll for scrolling in the sidebar. Before using this feature, it was working fine, But as I made changes so that scrolling is done in side bar, then the first menu is not working.
Attached files
- DashboardAsset - asset file
- main.php - layout file
- jquery.slimscroll.min.js - for slim scroll.
How should I resolve. Is any tag missing in main.php?
- DashboardAsset
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace app\assets;
use yii\web\AssetBundle;
use faryshta\disableSubmitButtons\Asset as DisableSubmitButtonsAsset;
/**
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class DashboardAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css',
'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css',
'css/AdminLTE.min.css',
'plugins/iCheck/flat/blue.css',
'plugins/morris.js/morris.css',
'plugins/jvectormap/jquery-jvectormap.css',
'plugins/daterangepicker/daterangepicker.css',
//'plugins/datepicker/datepicker3.css',
//'plugins/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css',
'plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css',
//'plugins/bootstrap-daterangepicker/daterangepicker.css',
'plugins/font-awesome/css/font-awesome.min.css',
'plugins/Ionicons/css/ionicons.min.css',
'css/bootstrap.min.css',
'css/skins/_all-skins.min.css',
'css/site.css',
];
public $js = [
'plugins/raphael/raphael.min.js',
'plugins/jquery-ui/jquery-ui.min.js',
'plugins/bootstrap/dist/js/bootstrap.min.js',
'plugins/morris.js/morris.min.js',
'plugins/jquery-sparkline/dist/jquery.sparkline.min.js',
'plugins/jvectormap/jquery-jvectormap-1.2.2.min.js',
'plugins/jvectormap/jquery-jvectormap-world-mill-en.js',
//'plugins/jquery-knob/dist/jquery.knob.min.js',
//'plugins/daterangepicker/daterangepicker.js',
'plugins/daterangepicker/daterangepicker.js',
'plugins/moment/min/moment.min.js',
//'plugins/bootstrap-daterangepicker/daterangepicker.js',
//'plugins/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js',
// 'plugins/datepicker/bootstrap-datepicker.js',
'plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js',
//'plugins/slimScroll/jquery.slimscroll.min.js',
'plugins/jquery-slimscroll/jquery.slimscroll.min.js',
//'plugins/chartjs/Chart.min.js',
'plugins/fastclick/lib/fastclick.js',
'plugins/daterangepicker/daterangepicker.js',
//'js/app.min.js',
//'js/dashboard.js',
'js/demo.js',
'js/chartdisplay.js',
'js/app1.js',
'js/adminlte.min.js',
];
public $depends = [
//'faryshta\\assets\\ActiveFormDisableSubmitButtonsAsset',
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
- main.php
<?php
/* @var $this \yii\web\View */
/* @var $content string */
use yii\helpers\Html;
use yii\widgets\Breadcrumbs;
use app\assets\DashboardAsset;
use app\models\Employee;
use app\models\AuthAssignment;
DashboardAsset::register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<link rel="shortcut icon" href="<?php echo Yii::$app->request->baseUrl; ?>/favicon.ico" type="image/x-icon" />
<meta charset="<?= Yii::$app->charset ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?= Html::csrfMetaTags() ?>
<title><?= Html::encode($this->title) ?></title>
<?php $this->head() ?>
</head>
<body class="hold-transition skin-blue fixed sidebar-mini">
<div class="wrapper">
<?php $this->beginBody() ?>
<header class="main-header">
<!-- Logo -->
<a href="#" class="logo">
<!-- mini logo for sidebar mini 50x50 pixels -->
<!-- logo for regular state and mobile devices -->
<span class="logo-lg">Integrity Foundation</span>
</a>
<!-- Header Navbar: style can be found in header.less -->
<nav class="navbar navbar-static-top">
<!-- Sidebar toggle button-->
<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
<span class="sr-only">Toggle navigation</span>
</a>
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
<!-- Messages: style can be found in dropdown.less-->
<!-- Notifications: style can be found in dropdown.less -->
<!-- Tasks: style can be found in dropdown.less -->
<!-- User Account: style can be found in dropdown.less -->
<li class="dropdown user user-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<?= Html::img('@web/uploadedimages/'.\Yii::$app->user->identity->Photo, ['class'=>"user-image", 'alt'=>"User Image"]) ?>
<span class="hidden-xs"><?php echo \Yii::$app->user->identity->fullname;?></span>
</a>
<ul class="dropdown-menu">
<!-- User image -->
<li class="user-header">
<?= Html::img('@web/uploadedimages/'.\Yii::$app->user->identity->Photo, ['class'=>"user-image", 'alt'=>"User Image"]) ?>
<p>
<?php echo \Yii::$app->user->identity->fullname." - ";?>
<?php
$emp = Employee::findOne(\Yii::$app->user->identity->id);
$empjob= $emp->employeejobs;
foreach($empjob as $empjobs)
{
//$empjobs['Job_Title'];
}
echo $empjobs['Job_Title'];
?>
<?php
$role = Employee::findOne(\Yii::$app->user->identity->id);
$roles= $role->authAssignments;
foreach($roles as $roles1)
{
//echo $roles1['item_name'];
}
//echo $roles1['item_name'];
?>
</p>
</li>
<!-- Menu Body -->
<li class="user-body">
<div class="row">
</div>
<!-- /.row -->
</li>
<!-- Menu Footer-->
<li class="user-footer">
<div class="pull-right">
<?= Html::a(
'Log out',
['/site/logout'],
['data-method' => 'post', 'class' => 'btn btn-default btn-flat']
) ?>
</div>
</li>
</ul>
</li>
<!-- Control Sidebar Toggle Button -->
</ul>
</div>
</nav>
</header>
<aside class="main-sidebar">
<!-- sidebar: style can be found in sidebar.less -->
<section class="sidebar">
<!-- Sidebar user panel -->
<!-- sidebar menu: : style can be found in sidebar.less -->
<?php
if(\Yii::$app->user->can('admin'))
{
?>
<ul class="sidebar-menu" data-widget="tree">
<li class="active treeview">
<a href="index.php?r=dashboard/index"><i class="fa fa-dashboard"></i> <span>Dashboard</span></a>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>Masters</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="index.php?r=church"><i class="fa fa-circle-o"></i> Church</a></li>
<li><a href="index.php?r=courses"><i class="fa fa-circle-o"></i> Courses</a></li>
<li><a href="index.php?r=district"><i class="fa fa-circle-o"></i> District</a></li>
<li><a href="index.php?r=taluka"><i class="fa fa-circle-o"></i> Taluka</a></li>
<li><a href="index.php?r=village"><i class="fa fa-circle-o"></i> Village</a></li>
<li><a href="index.php?r=location"><i class="fa fa-circle-o"></i> Locations</a></li>
<li><a href="index.php?r=area"><i class="fa fa-circle-o"></i> Areas</a></li>
</ul>
</li>
<li><a href="index.php?r=auth-assignment">Role Assignments</a></li>
<li><a href="index.php?r=churchassignment">Church Assignments</a></li>
<li><a href="index.php?r=employee"><i class="glyphicon glyphicon-user"></i>Employee</a></li>
<li><a href="index.php?r=employeetraining"> <span class="glyphicons glyphicons-user">Employee Training</span></a></li>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>SHG</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="index.php?r=groupdetails"><i class="fa fa-circle-o"></i>SHG Profile</a></li>
<li><a href="index.php?r=groupsavingdetails"><i class="fa fa-circle-o"></i> Group Saving Details</a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>Survey</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="index.php?r=regiondata"><i class="fa fa-circle-o"></i> Region Data</a></li>
<li><a href="index.php?r=persondata"><i class="fa fa-circle-o"></i> Survey</a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>Pastoral Networking</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="index.php?r=pastor"><i class="fa fa-circle-o"></i>Pastors Details</a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>LWF</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="index.php?r=members"><i class="fa fa-circle-o"></i> Member Details</a></li>
<li><a href="index.php?r=offering"><i class="fa fa-circle-o"></i> Offering Details</a></li>
<li><a href="index.php?r=activities"><i class="fa fa-circle-o"></i> Activities Details</a></li>
</ul>
</li>
<li><a href="index.php?r=dailytaskreport"> <span class="glyphicons glyphicons-user">Daily Task Reports</span></a></li>
<li><a href="index.php?r=weeklymeetingreport"> <span class="glyphicons glyphicons-user">Weekly Meeting Reports</span></a></li>
</ul>
<?php
}
elseif(\Yii::$app->user->can('fieldofficer'))
{
?>
<ul class="sidebar-menu" data-widget="tree">
<li class="active treeview">
<a href="index.php?r=dashboard"><i class="fa fa-dashboard"></i> <span>Dashboard</span></a>
</li>
<li>
<?php
$id= \Yii::$app->user->identity->id;
echo "<a href='index.php?r=employee%2Fview&id=$id'><i class='glyphicon glyphicon-user'></i>My Profile</a></li>";
?>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>SHG</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="index.php?r=groupdetails"><i class="fa fa-circle-o"></i>SHG Profile</a></li>
<li><a href="index.php?r=groupsavingdetails"><i class="fa fa-circle-o"></i> Group Saving Details</a></li>
</ul>
</li>
</ul>
<?php
}
?>
</section>
<!-- /.sidebar -->
</aside>
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<!--<?php echo \Yii::$app->user->identity->FirstName; ?>!-->
</section>
<!-- Main content -->
<section class="content">
<?=$content ?>
</section>
</div>
<?php $this->endBody() ?>
</div>
<?php $this->endPage() ?>
<script src="plugins/jquery-slimscroll/jquery.slimscroll.min.js"></script>
</body>
</html>
- jquery.slimscroll.min.js
/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
*
* Version: 1.3.8
*
*/
(function(e){e.fn.extend({slimScroll:function(f){var a=e.extend({width:"auto",height:"250px",size:"7px",color:"grey",position:"right",distance:"1px",start:"top",opacity:.4,alwaysVisible:!1,disableFadeOut:!1,railVisible:1,railColor:"grey",railOpacity:.2,railDraggable:!0,railClass:"slimScrollRail",barClass:"slimScrollBar",wrapperClass:"slimScrollDiv",allowPageScroll:!1,wheelStep:20,touchScrollStep:50,borderRadius:"8px",railBorderRadius:"7px"},f);this.each(function(){function v(d){if(r){d=d||window.event;
var c=0;d.wheelDelta&&(c=-d.wheelDelta/120);d.detail&&(c=d.detail/3);e(d.target||d.srcTarget||d.srcElement).closest("."+a.wrapperClass).is(b.parent())&&n(c,!0);d.preventDefault&&!k&&d.preventDefault();k||(d.returnValue=!1)}}function n(d,g,e){k=!1;var f=b.outerHeight()-c.outerHeight();g&&(g=parseInt(c.css("top"))+d*parseInt(a.wheelStep)/100*c.outerHeight(),g=Math.min(Math.max(g,0),f),g=0<d?Math.ceil(g):Math.floor(g),c.css({top:g+"px"}));l=parseInt(c.css("top"))/(b.outerHeight()-c.outerHeight());g=
l*(b[0].scrollHeight-b.outerHeight());e&&(g=d,d=g/b[0].scrollHeight*b.outerHeight(),d=Math.min(Math.max(d,0),f),c.css({top:d+"px"}));b.scrollTop(g);b.trigger("slimscrolling",~~g);w();p()}function x(){u=Math.max(b.outerHeight()/b[0].scrollHeight*b.outerHeight(),30);c.css({height:u+"px"});var a=u==b.outerHeight()?"none":"block";c.css({display:a})}function w(){x();clearTimeout(B);l==~~l?(k=a.allowPageScroll,C!=l&&b.trigger("slimscroll",0==~~l?"top":"bottom")):k=!1;C=l;u>=b.outerHeight()?k=!0:(c.stop(!0,
!0).fadeIn("fast"),a.railVisible&&m.stop(!0,!0).fadeIn("fast"))}function p(){a.alwaysVisible||(B=setTimeout(function(){a.disableFadeOut&&r||y||z||(c.fadeOut("slow"),m.fadeOut("slow"))},1E3))}var r,y,z,B,A,u,l,C,k=!1,b=e(this);if(b.parent().hasClass(a.wrapperClass)){var q=b.scrollTop(),c=b.siblings("."+a.barClass),m=b.siblings("."+a.railClass);x();if(e.isPlainObject(f)){if("height"in f&&"auto"==f.height){b.parent().css("height","auto");b.css("height","auto");var h=b.parent().parent().height();b.parent().css("height",
h);b.css("height",h)}else"height"in f&&(h=f.height,b.parent().css("height",h),b.css("height",h));if("scrollTo"in f)q=parseInt(a.scrollTo);else if("scrollBy"in f)q+=parseInt(a.scrollBy);else if("destroy"in f){c.remove();m.remove();b.unwrap();return}n(q,!1,!0)}}else if(!(e.isPlainObject(f)&&"destroy"in f)){a.height="auto"==a.height?b.parent().height():a.height;q=e("<div></div>").addClass(a.wrapperClass).css({position:"relative",overflow:"hidden",width:a.width,height:a.height});b.css({overflow:"hidden",
width:a.width,height:a.height});var m=e("<div></div>").addClass(a.railClass).css({width:a.size,height:"100%",position:"absolute",top:0,display:a.alwaysVisible&&a.railVisible?"block":"none","border-radius":a.railBorderRadius,background:a.railColor,opacity:a.railOpacity,zIndex:90}),c=e("<div></div>").addClass(a.barClass).css({background:a.color,width:a.size,position:"absolute",top:0,opacity:a.opacity,display:a.alwaysVisible?"block":"none","border-radius":a.borderRadius,BorderRadius:a.borderRadius,MozBorderRadius:a.borderRadius,
WebkitBorderRadius:a.borderRadius,zIndex:99}),h="right"==a.position?{right:a.distance}:{left:a.distance};m.css(h);c.css(h);b.wrap(q);b.parent().append(c);b.parent().append(m);a.railDraggable&&c.bind("mousedown",function(a){var b=e(document);z=!0;t=parseFloat(c.css("top"));pageY=a.pageY;b.bind("mousemove.slimscroll",function(a){currTop=t+a.pageY-pageY;c.css("top",currTop);n(0,c.position().top,!1)});b.bind("mouseup.slimscroll",function(a){z=!1;p();b.unbind(".slimscroll")});return!1}).bind("selectstart.slimscroll",
function(a){a.stopPropagation();a.preventDefault();return!1});m.hover(function(){w()},function(){p()});c.hover(function(){y=!0},function(){y=!1});b.hover(function(){r=!0;w();p()},function(){r=!1;p()});b.bind("touchstart",function(a,b){a.originalEvent.touches.length&&(A=a.originalEvent.touches[0].pageY)});b.bind("touchmove",function(b){k||b.originalEvent.preventDefault();b.originalEvent.touches.length&&(n((A-b.originalEvent.touches[0].pageY)/a.touchScrollStep,!0),A=b.originalEvent.touches[0].pageY)});
x();"bottom"===a.start?(c.css({top:b.outerHeight()-c.outerHeight()}),n(0,!0)):"top"!==a.start&&(n(e(a.start).position().top,null,!0),a.alwaysVisible||c.hide());window.addEventListener?(this.addEventListener("DOMMouseScroll",v,!1),this.addEventListener("mousewheel",v,!1)):document.attachEvent("onmousewheel",v)}});return this}});e.fn.extend({slimscroll:e.fn.slimScroll})})(jQuery);