подключение JS из assets

Кипит мозг, не могу найти как подключить к главному лэйауту подключение JS файлов, которые лежат в assets/******/

хордкодить не хочется, ибо не правильно.

а как правильно не пойму, подскажите пожалуйста.

А почему нельзя в код ?

<script type="text/javascript" language="javascript" src="/js/script.js"></script>

тогда я не понимаю зачем нужен assets, ведь там автоматом yii складывает js файлы.

и дело в том что у меня все js-ки лежат в /assets/bla-bla-bla/*


Yii::app()->getClientScript()->registerScriptFile( Yii::app()->assetManager->baseUrl.'/myscript.js' );

спасибо

Коллеги, а зачем вообще assets нужен? и для чего он там кучу папок с дивными названиями создает?

Против кеширования?

В документации написано, что это для того, чтобы можно было общую папку assets использовать несколькими приложениями. С моей точки зрения это очень удобно, так как можно держать связанные php/js файлы внутри папки protected и не копировать скрипты в общую папку вручную.

Например, расширение (extension) для работы с TinyMCE - Вы копируете его в папку protected/extensions и используете. Если бы механизма assets не было, то пришлось бы копировать скрипты TinyMCE в публично доступную папку руками.

Ок, но для чего подпапки?

типа, \assets\f7f0e4d8\

Когда папка со скриптами из защищенной директории публикуется, для нее создается отдельная папка внутри assets, имя внутри assets - это хеш имени исходной папки. Почему именно хеш а не имя исходной папки не скажу (по-моему, даже есть настройка, чтобы публиковать с исходными именами).

А вообще это можно воспринимать просто как аспект реализации. Ну подпапки и подпапки себе :).

Главное при использовании ассетов - это знать, что если папка уже опубликована, то она не будет заново публиковаться, даже если файлы внутри нее поменялись. Т.е. если у Вас есть папка со скриптами, которую Вы публикуете в ассеты, то, после внесения изменений в Ваши скрипты, соответствующую папку в ассетах нужно удалить.

Ох, вот оно как.

Спасибо.

Ребят, а подскажите пожалуйста, где отключить те скрипты которые автоматом цепляются ? вот у меня jquey.js и jquery.yiiactiveform.js

или как в автозагрузку добавить еще и свои.

В config/main.php:

‘components’ => array(

‘clientScript’ => array(

'scriptMap' =&gt; array(


 'jquery.js' =&gt; '/js/jquery.new.js',


 'jquery.yiiactiveform.js' =&gt; '/js/jquery.yiiactiveform.js'


)

)

)

Для подключения:

Yii::app()->clientScript->registerCoreScript(‘jquery.yiiactiveform.js’);

Спасибо Большое!