Кипит мозг, не могу найти как подключить к главному лэйауту подключение 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' => array(
'jquery.js' => '/js/jquery.new.js',
'jquery.yiiactiveform.js' => '/js/jquery.yiiactiveform.js'
)
)
)
Для подключения:
Yii::app()->clientScript->registerCoreScript(‘jquery.yiiactiveform.js’);
Спасибо Большое!