Yii jquery.js

Хотелось бы разобраться, каким образом лучше всего сделать загрузку jquery.js по всему проекту?

В блоге в примеме на странице контакты происходит загрузка




<script type="text/javascript" src="/assets/3d9484f9/jquery.js"></script>

<script type="text/javascript" src="/assets/3d9484f9/jquery.yiiactiveform.js"></script> 

Видимо загрузку jquery.js вызывает yiiactiveform. Но, после перехода с контактов на другу страницу, jquery.js боле не загружен и все сркипты, которым он нужен - не работают.

Мне нужно в main.php сделать загрузку


Yii::app()->clientScript->registerScriptFile('/js/jquery.js', CClientScript::POS_HEAD) 

или нужно загружать с папки assets?

И не будет ли возникать конфликтов, если загрузка jquery.js будет происходить дважды, или с разных фалов?

Thanks!

config/main.php


<?php

return array(

    'components' => array(

         'clientScript' => array(

              'scriptMap' => array(

                    'jquery.js' => false,

              )

          ),

     ...

Далее просто подключи jQuery в своём layout до тега title…


<script type="text/javascript" 

        src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>

<title>....</title>

или как ты сказал зарегистрируй jQuery…


Yii::app()->clientScript->registerScriptFile('/js/jquery.js', CClientScript::POS_HEAD)

Можно ещё как-то сделать, более правильно, через сам Yii, но я обычно так делаю.

я вот так сделал:


Yii::app()->getClientScript()->registerCoreScript('jquery'); 

и заработало. Пока не разобрался, почему …

Это и есть тот правильный вариант. Но я предпочитаю загружать jQuery c гугла…

ну а не будет конфликтов, если грузить с папки js, а фреймворк подгрузит с папки assets, например, на странице контакты, как я описывал выше. Ели Yii проверяет, загружен ли такой файл?

Вот так Yii загрузит jQuery только один раз.


Yii::app()->getClientScript()->registerCoreScript('jquery'); 

Для тех, кто предпочитает загружать jquery с гугла, в коде


'scriptMap' => array(

                    'jquery.js' => false,

              )

вместо false поставьте адрес Api