Forzando el orden de guiones desde el método registerScript en Yii

He creado un widget que registra su propio script como a continuación

class MyWidget extends CWidget {
    public function run(){
        Yii::app()->clientScript->registerScript(__CLASS__, <<<JAVASCRIPT
var a = "Hello World!";
JAVASCRIPT
        , CClientScript::POS_END);
    }
}

Y en el diseño, llamo al widget así.

<?php $this->widget('MyWidget');?>
<?php echo $content;?>

Pero en un archivo de vista, necesito la variable declarada por ese widget.

<?php 
Yii::app()->clientScript->registerScript('script', <<<JAVASCRIPT
    alert(a);
JAVASCRIPT
    , CClientScript::POS_END);
?>

Tenga en cuenta que en ambos métodos de registerScript utilizo POS_END como la posición del script, ya que tengo la intención de poner todos los scripts (incluido el CoreScript, por ejemplo, jQuery, jQueryUI, etc.) después del<body> etiqueta.

El problema es que la secuencia de comandos representada mostrará la del archivo de vista y, a continuación, la del widget.

alert(a);
var a = "Hello World!";

Como podemos ver, el código anterior no funcionará, por lo que debo colocar la segunda línea sobre la primera.

¿Alguna idea de cómo forzar el pedido? Estoy de acuerdo con extender elCClientScript (y creando un nuevoregisterScript Método) siempre que todos los scripts se procesen en la posición final y no tengo que extraer los códigos de Javascript en línea de arriba para un nuevo paquete o archivo.

Respuestas a la pregunta(5)

Su respuesta a la pregunta