Задача очень второстепенная, по этому прошу всех желающих причесать мой результат)).
Пока вышел из ситуации так.
Добавил класс assets/AutoAsset.php :
<?php
namespace backend\assets;
use Yii;
/**
* Class AutoAsset
* Класс автоматически подключает к представлению модуля файлы ресурсов JS и CSS
* По умолчанию путь к автоматически подключаемым ресурсам
* @web/auto_asset/modules/{moduleName}/{viewName}/*.[js | Css]
* Для подключения в представлении вызываем: AutoAsset::registerFiles($this)
*
* @author
*/
class AutoAsset
{
public static $baseUrl = 'auto_asset/modules';
/**
* Формируем путь к ресурсам и подключаем все *.js и *.css фаилы в объекте $view
* У всех зависимость от jQuery
*
* @param $view
*/
public static function register($view)
{
$viewFile = explode(DIRECTORY_SEPARATOR, $view->getViewFile());
$viewFile = end($viewFile);
$filePath =
self::$baseUrl . "/" .
Yii::$app->controller->module->id . "/" .
str_replace(".php", "", $viewFile) . "/";
// TODO Причесать монстра $realDirPath;
$realDirPath = Yii::getAlias('@webroot') . DIRECTORY_SEPARATOR . self::$baseUrl . DIRECTORY_SEPARATOR . Yii::$app->controller->module->id . DIRECTORY_SEPARATOR . str_replace(".php", "", $viewFile) . DIRECTORY_SEPARATOR;
$dir=opendir($realDirPath);
while ($file = readdir($dir)){
if (strstr($file, ".js")) {
$view->registerJsFile($filePath . $file ,['depends' => [\yii\web\JqueryAsset::className()]]);
} elseif (strstr($file, ".css")) {
$view->registerCSSFile($filePath . $file ,['depends' => [\yii\web\JqueryAsset::className()]]);
}
}
closedir($dir);
}
}
PS прошу прощения за коменты в кирилице, требование компании...