Yii Fügt In Assests Jquery-In Trotz Cgoogleapi

Hi,

ich verwende in meinem Projekt das CJuiAutoComplete von yii.




$this->widget('zii.widgets.jui.CJuiAutoComplete', array(....



.

Vorher binde ich jquery und jquery-ui ein, da ich es auf allen Unterseiten benötige




	<?php echo CGoogleApi::init(); ?>

	<?php echo CHtml::script(

		CGoogleApi::load("jqueryui", "1.8.2") 

	);?>



Dies funktioniert wunderbar und jquery und jquery-ui sind eingebunden.

Nun baut yii bei mir am Ende der Seite trotzdem jquery-ui noch einmal ein.




<script type="text/javascript" src="/assets/60e23c/jui/js/jquery-ui.min.js"></script>

<script type="text/javascript">

/*<![CDATA[*/

jQuery(function($) {

jQuery('#s').autocomplete({'delay':10,'showAnim':'fold','minLength':'2','select':function(event, ui){

...



Wie kann ich das unterbinden?

Du kannst das scriptMap feature von CClientScript benutzen und in deiner main.php sowas in der Art eintragen:




'clientScript' => array(

    'scriptMap' => array(

        'jquery-ui.min.js' 	=> 'http://code.jquery.com/ui/1.9.0/jquery-ui.min.js',

    ),

Dann musst du das ganze allerdings auch so im View registrieren:


Yii::app()->clientScript->registerCoreScript('jquery.ui');

Hi Mike,

danke das hat super geklappt!

Hier der Code für alle:




'clientScript' => array(

	'packages' => array(

		'jquery' => array(

			'baseUrl' => '//ajax.googleapis.com/ajax/libs/jquery/1.8.2/',

		'js' => array('jquery.min.js'),

		),

	),

	'scriptMap' => array(

		'jquery-ui.min.js'	=> '//ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/jquery-ui.min.js',

	),

),



Und wenn jemand nach den Namen der Javascript-Dateien sucht, die man in scriptMap verwenden muss, der sollte mal einen Blick in framework/web/js/packages.js werfen.