Where did jquery go? What do I not understand?
I created this asset, to accommodate some theme package called betube…
class BetubeAsset extends AssetBundle
{
public $sourcePath = '@common/assets/betube';
public $baseUrl = '@web';
public $css = [
'css/app.css',
'css/theme.css',
'css/font-awesome.min.css',
'layerslider/css/layerslider.css',
'css/owl.carousel.min.css',
'css/owl.theme.default.min.css',
'css/responsive.css' ,
];
public $js = [
'bower_components/what-input/what-input.js',
'bower_components/foundation-sites/dist/foundation.js',
'js/jquery.showmore.src.js',
'js/app.js',
'layerslider/js/greensock.js',
'layerslider/js/layerslider.transitions.js',
'layerslider/js/layerslider.kreaturamedia.jquery.js',
'js/owl.carousel.min.js',
'js/inewsticker.js',
'js/jquery.kyco.easyshare.js',
];
public $depends = [
// This is a dependency of FoundationAsset. I expected it to load jquery first
//'yii\web\JqueryAsset',
'foundationize\foundation\FoundationAsset',
];
}
I swiped this from https://github.com/foundationize/yii2-foundation
class FoundationAsset extends AssetBundle
{
//public $basePath = '@webroot';
// public $basePath = null; // see construct further below
// public $baseUrl = '@web';
// public $sourcePath = null;
public $sourcePath = '@vendor/foundationize/yii2-foundation';
public $css = [
// The core Foundation CSS
//'https://cdn.jsdelivr.net/foundation/6.1.1/foundation.min.css',
// For CSS autocompleting, we'll use direct files instead of CDN
'css/foundation.min.css',
// Motion UI: http://foundation.zurb.com/sites/docs/motion-ui.html
'https://cdnjs.cloudflare.com/ajax/libs/motion-ui/1.1.1/motion-ui.min.css'
];
// JS awesomeness: http://www.jsdelivr.com/projects/foundation
public $js = [
//'https://cdn.jsdelivr.net/foundation/6.1.1/foundation.min.js', // The core Foundation JS
// We will use Yii2's built-in front and backend validation instead of abide
//'https://cdn.jsdelivr.net/foundation/6.1.1/js/foundation.abide.js',
'js/foundation.min.js',
'js/foundationize.js',
];
// Depends on jQuery
public $depends = [
'yii\web\JqueryAsset'
];
}
In my view I write:
BetubeAsset::register($this); // $this represents the view object
Betube depends on foundation which depends on jquery.
Seems straightforward?
But I am stuck. jquery is not loaded at all.
View source…
yii-debug-toolbar has script below footer, then the bottom load:
})();</script><script src="/assets/3e477400/js/foundation.min.js"></script>
<script src="/assets/3e477400/js/foundationize.js"></script>
<script src="/assets/adf2365c/bower_components/what-input/what-input.js"></script>
<script src="/assets/adf2365c/bower_components/foundation-sites/dist/foundation.js"></script>
<script src="/assets/adf2365c/js/jquery.showmore.src.js"></script>
<script src="/assets/adf2365c/js/app.js"></script>
<script src="/assets/adf2365c/layerslider/js/greensock.js"></script>
<script src="/assets/adf2365c/layerslider/js/layerslider.transitions.js"></script>
<script src="/assets/adf2365c/layerslider/js/layerslider.kreaturamedia.jquery.js"></script>
<script src="/assets/adf2365c/js/owl.carousel.min.js"></script>
<script src="/assets/adf2365c/js/inewsticker.js"></script>
<script src="/assets/adf2365c/js/jquery.kyco.easyshare.js"></script></body>
</html>