Yii script packages의 종속성 기능을 사용할 수 있습니다. 나는 similar problem before을 가졌습니다. 예를 들어
당신이 스크립트 패키지는 위의 샘플에서
'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',
)
),
)
)
, 아래와 같이 config (설정)이, package2
는 package1
및 package3
는 package2
을 필요로 필요 (따라 다름). 위젯이 package2
을 사용하고 다른 스크립트가 package3
을 사용한다고 가정 해 보겠습니다. 위젯을 렌더링하지 않아도 Yii::app()->clientScript->registerPackage('package3');
을 사용하는 경우 package2
이 자동으로 설치되며 package2
전에 package1
을 설치합니다. 이전에 일부 스크립트에서 이미 package1
이 필요하면 설치되지 않습니다.
위치를 지정할 수 있습니다. [registerScript] (http://www.yiiframework.com/doc/api/1.1/CClientScript/#registerScript-detail) 및/또는 [registerScriptFile] (http://www.yiiframework.com/doc/)에 대한 설명서를 참조하십시오. api/1.1/CClientScript/# registerScriptFile-detail) – adamors
감사합니다. 그러나이 사실을 알고있었습니다. POS_BEGIN, POS_END 및 POS_READY의 세 위치 중 하나를 지정할 수 있습니다.이 위치는 모든 플러그인을 POS_BEGIN에로드해야하지만 일부는 기본 레이아웃에서 가져오고 일부는 위젯에서로드해야하는 경우 도움이되지 않습니다. – Hippyjim
나는 zii 위젯의 소스를 탐색 해 보았는가? – adamors