È possibile utilizzare la funzione di dipendenza in Yii script packages. Stavo avendo similar problem before.
Per esempio si hanno dei pacchetti di script config come qui di seguito,
'clientScript' => array(
'packages' => array(
'package1' => array(
'basePath' => 'path.to.package1',
'js' => array(
'package1.js',
),
'css' => array(
'package1.css'
),
),
'package2' => array(
'basePath' => 'path.to.package2',
'js' => array(
'package2.js',
),
'css' => array(
'package2.css'
),
'depends' => array(
'package1',
)
),
'package3' => array(
'basePath' => 'path.to.package3',
'js' => array(
'package3.js',
),
'css' => array(
'package3.css'
),
'depends' => array(
'package2',
)
),
)
)
Nel esempio sopra riportato, package2
richiede (dipende) package1
e package3
richiede package2
. Diciamo che nel tuo caso, un widget utilizza package2
e l'altro script utilizza package3
. Anche se non si esegue il rendering del widget, se si utilizza Yii::app()->clientScript->registerPackage('package3');
, verrà automaticamente installato il package2
che quindi installeràprima dello package2
(o non verrà installato se lo script package1
è già richiesto da alcuni script in precedenza).
fonte
2012-06-21 02:49:32
È possibile specificare la posizione. Vedere la documentazione per [registerScript] (http://www.yiiframework.com/doc/api/1.1/CClientScript/#registerScript-detail) e/o [registerScriptFile] (http://www.yiiframework.com/doc/ api/1.1/CClientScript/# registerScriptFile-detail) – adamors
Grazie per il pensiero ma ne ero consapevole. Puoi specificare uno dei tre posti - POS_BEGIN, POS_END e POS_READY - che non aiuta se ho bisogno di caricare tutti i miei plug-in in POS_BEGIN, ma alcuni provengono dal layout principale e altri dai widget. – Hippyjim
Vedo, hai provato a sfogliare la fonte dei widget zii? – adamors