100 votes

Inclure des CSS, fichiers javascript dans Yii Framework

Comment inclure un fichier Javascript ou CSS dans Yii Framework ?

Je veux créer une page sur mon site qui a une petite application Javascript fonctionne, donc je veux inclure et fichiers dans une vue spécifique.

169voto

Alexander Hramov Points 1749
Car:

47voto

ysing Points 371

Vous pouvez le faire en ajoutant

34voto

Onkar Janwa Points 2311

J'ai bien aimé répondre à cette question.

Il en existe de nombreux endroits où nous avons des css et des fichiers javascript, comme dans css dossier qui est en dehors du dossier protégé, css & js fichiers d'extension et de widgets qui nous devons inclure l'extérieur, parfois, lors de l'utilisation d'ajax beaucoup, js & css fichiers de cadre de base dont nous avons également besoin d'inclure l'extérieur de temps en temps. Donc leur sont quelques façons de le faire.

De js fichiers de cadre comme jquery.js, jquery.ui.js

<?php 
Yii::app()->clientScript->registerCoreScript('jquery');     
Yii::app()->clientScript->registerCoreScript('jquery.ui'); 
?>

Inclure les fichiers du répertoire css à l'extérieur du dossier protégé.

<?php 
Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/example.css');
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/example.js');
?>

Inclure le css & js fichiers d'extension ou de widgets.

Ici fancybox est une extension qui est placé sous dossier protégé. Fichiers, y compris a path : /protected/extensions/fancybox/assets/

<?php
// Fancybox stuff.
$assetUrl = Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('ext.fancybox.assets'));
Yii::app()->clientScript->registerScriptFile($assetUrl.'/jquery.fancybox-1.3.4.pack.js'); 
Yii::app()->clientScript->registerScriptFile($assetUrl.'/jquery.mousewheel-3.0.4.pack.js'); 
?>  

Aussi, nous pouvons inclure cadre de base des fichiers: Exemple : je suis notamment CListView fichier js.

<?php
$baseScriptUrl=Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('zii.widgets.assets'));
Yii::app()->clientScript->registerScriptFile($baseScriptUrl.'/listview/jquery.yiilistview.js',CClientScript::POS_END);  
?>
  • Nous avons besoin d'inclure des fichiers js de zii widgets ou l'extension de l'extérieur, parfois, quand nous les utilisons dans le rendu de la vue qui sont reçus d'appel ajax, car le chargement à chaque fois de nouvelles ajax fichier à créer des conflits dans l'appel de fonctions js.

Pour plus de détails, Regarde mon article de blog

21voto

Knito Auron Points 315

Facile dans votre conf/main.php. Il s’agit de mon exemple de bootstrap. Vous pouvez voir qu' ici

7voto

Mohammad Anini Points 914

Dans l’affichage, ajoutez ce qui suit :

S’il vous plaît notez le second paramètre lorsque vous enregistrez le fichier js, c’est la position de votre script, lorsque vous définissez il CClientScript::POS_END, vous laissez le rendu HTML avant que le code javascript est chargé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X