Assetmanager Hash Alias

i’m trying publishing js and css now and i see path is hashed with 8 letters




/* @var $c CClientScript */

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

/* @var $a CAssetManager */

$a = Yii::app()->assetManager;


$c->scriptMap['jquery.js'] = false;

//$c->registerCoreScript('jquery');


$p = 'protected/assets/3rd-party/';

$to_pub = [$p.'jquery-2.0.3.min.js', $p.'jquery-raty/', $p.'jqgrid/', $p.'yui-reset-3.5.0.css'];

$hashed = [];


foreach ($to_pub as $v) {

	$pp = $a->publish($v);

	$hashed[] = $pp;


	if (strripos($pp,'.js',-1) == strlen($pp)-3) {

		$c->registerScriptFile($pp, CClientScript::POS_HEAD);

	} elseif (strripos($pp,'.css',-1) == strlen($pp)-4) {

		$c->registerCssFile($pp);

	}

}


var_dump($hashed);



which gives




array (size=4)

  0 => string '/mylib/assets/f89d1c3e/jquery-2.0.3.min.js' (length=42)

  1 => string '/mylib/assets/cb100d81' (length=22)

  2 => string '/mylib/assets/9d505a7d' (length=22)

  3 => string '/mylib/assets/490cbaff/yui-reset-3.5.0.css' (length=42)



my question is: can i make something like




array (size=4)

  0 => string '/mylib/assets/4th-party/jquery-2.0.3.min.js' (length=42)

  1 => string '/mylib/assets/4th-party/jquery-raty' (length=22)

  2 => string '/mylib/assets/4th-party/jqgrid' (length=22)

  3 => string '/mylib/assets/4th-party/yui-reset-3.5.0.css' (length=42)



also. another similar question:

i want to replace jquery from Yii for whole app, i found a solution like




$c->scriptMap['jquery.js'] = 'some-published-path-here';

$c->registerCoreScript('jquery');



should i place it into custom controller?

thanks