9
votes

YII - Fichiers JS externes inlslude, registerscriptFile et publie

J'utilise Yii Cadre pour mon application Web. J'ai une question à enregistrer un fichier de script java externe.

pourrait-il peut-être m'aider s'il vous plaît? P>

  1. Quel est le meilleur emplacement pour copier le fichier de script Java (quel dossier) li>
  2. Je vois qu'il y a deux façons d'enregistrer ce script Java externe Fichier P>

    première approche forte> p>

     $cs=Yii::app()->getClientScript();
     $cs->registerScriptFile(Yii::app()->getAssetManager()->publish('path/to/js'));
     $cs->registerScript('id', 'your js here');
    

yii

1 commentaires

3 Réponses :


2
votes

Dans le cas commun Le meilleur moyen consiste à placer vos fichiers JS dans web_root / js et à utiliser $ CS-> registersterscriptfile . Assetmanager pratique à utiliser dans des widgets. Vous pouvez mettre vos fichiers JS dans un dossier protégé et les publier au dossier d'actifs lorsqu'il est nécessaire. Si vous appellez publier () méthode 10 fois, il devrait publier uniquement vos fichiers. Si vous définissez $ forcyCopy paramètre sur true (par défaut est false ), il ne voudrait donc copier 10 fois, mais dans le même dir.


1 commentaires

Merci Oleg pour votre réponse rapide



15
votes

Le dossier d'actifs YII est généralement utilisé par les widgets et les composants internes de Yii tels que GridView. Vous n'avez pas besoin de stocker ou de publier vos fichiers JS ou CSS externes vers un dossier d'actifs.

Deuxièmement, si les fichiers existent déjà dans les actifs dossier GetAssetManager () -> Publier ('Path / to / JS') / code> ne le copiera pas againing. p>

Et dernier, vous n'avez pas besoin d'instancier la classe CCLIMENTScript, vous pouvez l'appeler directement sous P>

Yii::app()->clientScript->registerScriptFile(
    Yii::app()->theme->baseUrl.'/js/file.js'
);


1 commentaires

Il ne pas-être joué - la classe CCLIMENTScript.



0
votes

Cette question est déjà répondue - https://stackoverflow.com/a/19210733/2670583 En voir plus CCLIMENTScript pour YII


0 commentaires