Как правильно подключать js-файлы в проекте и виджетах?

Собственно надо подлючить непресловутый jQuery и jQuery.UI, что выполняется следующими командами:

echo CHtml::scriptFile(Yii::app()->request->baseUrl.'/js/jqueryUI/jquery.js');


echo CHtml::scriptFile(Yii::app()->request->baseUrl.'/js/jqueryUI/jquery-ui-personalized-1.6rc6.min.js');


echo CHtml::scriptFile(Yii::app()->request->baseUrl.'/js/form.js');

в лайтауте.

Но на одной из страниц использую виджет для саджеста

$this->widget('CAutoComplete', …)

который в свою очередь тоже подключает jQuery и прочие библиотеки из ядра Yii через ассерты, в результате дополнительно получаем:

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


<script type="text/javascript" src="/assets/d9779e69/jquery.bgiframe.js"></script>


<script type="text/javascript" src="/assets/d9779e69/jquery.dimensions.js"></script>


<script type="text/javascript" src="/assets/d9779e69/jquery.ajaxqueue.js"></script>


<script type="text/javascript" src="/assets/d9779e69/jquery.autocomplete.js"></script>

В результате получается не только загрузка библиотеки 2 раза, но и просто конфликт.

Пытался подключить файлы черезе ассерты в лайауте

$cs = Yii::app()->clientScript;


$fn = Yii::app()->getAssetManager()->publish(Yii::app()->request->baseUrl.'/jsqueryUI/jquery.js');


$cs->registerScriptFile($fn);

но ошибка что такое асерт не найден.

Собственно вопрос, как тут правильно поступать.

Заранее спасибо.

В контроллере пишешь:



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


И посмотри еще вот это: http://www.yiiframew…5.html#msg13745

Я тоже подключаю всегда

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

и

$cs->registerScriptFile(Yii::app()->request->baseUrl.'/js/jquery-ui-1.7.1.custom.min.js', CClientScript::POS_HEAD);

с css

$cs->registerCssFile(Yii::app()->request->baseUrl.'/css/jquery-ui-1.7.1.custom.css');

ссылка битая :(

Вобщем смысл в том, что подключать js/css (а я еще и метатеги так подключаю) надо через clientScript - он не дает дублироваться файлам.