Ответ 1
assets
должен быть записываемым каталогом. Yii заботится об активах.
Вызывая Yii::app()->assetManager->publish()
, некоторые таблицы стилей, изображений, сценариев или даже целые каталоги могут быть помещены в видимую в Интернете папку.
pager.css
и другие не знакомые файлы создаются виджетами (например, CLinkPager
), а другие компоненты (например, CClientScript
публикует jQuery всякий раз, когда вам это нужно).
Во время развертывания эта папка должна быть пустой, но это не имеет особого значения.
Добавление плагинов никогда не должно выполняться через фреймворки. Вы можете поместить их в каталог components
и опубликовать его в случае необходимости или в любой другой удобный видимый каталог (например, images
или css
).
Update
Чтобы вставить jquery.charcounter.js
, поместите его в каталог components
, затем вызовите
Yii::app()->clientScript->registerScriptFile(
Yii::app()->assetManager->publish(
Yii::getPathOfAlias('application.components').'/jquery.charcounter.js'
),
CClientScript::POS_END
);
Что касается странных имен папок, я твердо уверен, что они уникальные хэши (или часть), поэтому их можно отличить, если приложение использует несколько расширений.