Hi All,
I have problems when I register some js and css files, I’m very new on this task.
I have a main layout, with this as header and footer where the files used for the all application:
<head>
<!-- CSS Global Compulsory-->
<link rel="stylesheet" href="<?php echo Yii::app()->theme->baseUrl; ?>/assets/plugins/bootstrap/css/bootstrap.css">
<link rel="stylesheet" href="<?php echo Yii::app()->theme->baseUrl; ?>/assets/css/style.css">
<link rel="stylesheet" href="<?php echo Yii::app()->theme->baseUrl; ?>/assets/css/headers/header1.css">
<link rel="stylesheet" href="<?php echo Yii::app()->theme->baseUrl; ?>/assets/css/responsive.css">
<link rel="shortcut icon" href="favicon.ico">
<!-- CSS Implementing Plugins -->
<link rel="stylesheet" href="<?php echo Yii::app()->theme->baseUrl; ?>/assets/plugins/font-awesome/css/font-awesome.css">
<!-- CSS Theme -->
<link rel="stylesheet" href="<?php echo Yii::app()->theme->baseUrl; ?>/assets/css/themes/default.css" id="style_color">
<link rel="stylesheet" href="<?php echo Yii::app()->theme->baseUrl; ?>/assets/css/themes/headers/default.css" id="style_color-header-1">
</head>
<body>
...
...
<!-- JS Global Compulsory -->
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/assets/plugins/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/assets/plugins/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/assets/plugins/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/assets/plugins/hover-dropdown.min.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/assets/plugins/back-to-top.js"></script>
<!-- JS Page Level -->
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/assets/js/app.js"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
App.init();
//App.initSliders();
//Index.initParallaxSlider();
});
</script>
<!--[if lt IE 9]>
<script src="<?php echo Yii::app()->theme->baseUrl; ?>/assets/plugins/respond.js"></script>
<![endif]-->
</body>
My home view needs some js and css files that needs to be located in a right place, the html code should look like this:
<head>
<!-- CSS Global Compulsory-->
<link rel="stylesheet" href="assets/plugins/bootstrap/css/bootstrap.css">
<link rel="stylesheet" href="assets/css/style.css">
<link rel="stylesheet" href="assets/css/headers/header1.css">
<link rel="stylesheet" href="assets/css/responsive.css">
<link rel="shortcut icon" href="favicon.ico">
<!-- CSS Implementing Plugins -->
<link rel="stylesheet" href="assets/plugins/font-awesome/css/font-awesome.css">
<link rel="stylesheet" href="assets/plugins/flexslider/flexslider.css"> //These are specific for the view
<link rel="stylesheet" href="assets/plugins/bxslider/jquery.bxslider.css"> //These are specific for the view
<link rel="stylesheet" href="assets/plugins/layer_slider/css/layerslider.css" type="text/css">//These are specific for the view
<!-- CSS Theme -->
<link rel="stylesheet" href="assets/css/themes/default.css" id="style_color">
<link rel="stylesheet" href="assets/css/themes/headers/default.css" id="style_color-header-1">
</head>
<body>
...
...
<!-- JS Global Compulsory -->
<script type="text/javascript" src="assets/plugins/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="assets/plugins/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="assets/plugins/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="assets/plugins/hover-dropdown.min.js"></script>
<script type="text/javascript" src="assets/plugins/back-to-top.js"></script>
//(start) Specific for the view
<!-- JS Implementing Plugins -->
<script type="text/javascript" src="assets/plugins/flexslider/jquery.flexslider-min.js"></script>
<script type="text/javascript" src="assets/plugins/bxslider/jquery.bxslider.js"></script>
<!-- Layer Slider -->
<script src="assets/plugins/layer_slider/jQuery/jquery-easing-1.3.js" type="text/javascript"></script>
<script src="assets/plugins/layer_slider/jQuery/jquery-transit-modified.js" type="text/javascript"></script>
<script src="assets/plugins/layer_slider/js/layerslider.transitions.js" type="text/javascript"></script>
<script src="assets/plugins/layer_slider/js/layerslider.kreaturamedia.jquery.js" type="text/javascript"></script>
<!-- End Layer Slider -->
//(end) Specific for the view
<!-- JS Page Level -->
<script type="text/javascript" src="assets/js/app.js"></script>
<script type="text/javascript" src="assets/js/pages/index.js"></script> //These are specific for the view
<script type="text/javascript">
jQuery(document).ready(function() {
App.init();
App.initSliders(); //These are specific for the view
App.initBxSlider(); //These are specific for the view
Index.initLayerSlider();//These are specific for the view
});
</script>
<!--[if lt IE 9]>
<script src="assets/plugins/respond.js"></script>
<script src="assets/plugins/layer_slider/assets/js/html5.js"></script>
<![endif]-->
</body>
I have tried to register the scripts in the controller before render the view, using different options POS_HEAD, POS_BEGIN, etc:
Yii::app()->clientScript->registerCssFile(Yii::app()->theme->baseUrl.'name');
Yii::app()->clientScript->registerScriptFile(Yii::app()->theme->baseUrl.'name', CClientScript::POS_BEGIN);
So my big question is… How can I place the scripts where I want? is there any alternative but working way to do it?
Im kind of new on this, so an explanation of how register files works is also more than welcome
Thanks to everyone in advance!