6

Yii では、現在、jquery のすべての依存関係が jquery のローカル バージョンをロードしています。これは、縮小されていない 1.6.* であると私は信じています。

次のようなもの:

<script src="/assets/2343/js/jquery.js"></script>

Googleの jquery 1.7.* を使用するようにコア jquery 依存関係を更新したいと思います。

基本的には入れたい

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> 

jquery が依存関係にある場合は常に、すべてのページの下部に表示されます。

4

4 に答える 4

25

もう少しグーグルして周りを見回した後、私は答えを見つけました:

設定の「コンポーネント」の下

'clientScript'=>array(
  'packages'=>array(
    'jquery'=>array(
      'baseUrl'=>'http://ajax.googleapis.com/ajax/libs/jquery/',
        'js'=>array('1.7.2/jquery.min.js'),
      )
    ),
  ),
),
于 2012-05-09T12:07:37.363 に答える
14

yii のドキュメントに見られる別の方法もあります。

たとえば、独自のサーバーの代わりに Google サーバーから jquery.js を含めることができます。そのために、まず scriptMap を次のように構成します。

$cs=Yii::app()->clientScript;
$cs->scriptMap=array(
 'jquery.js'=>false,
 'jquery.ajaxqueue.js'=>false,
 'jquery.metadata.js'=>false,
 ......
);

これらのスクリプト ファイルを false にマッピングすることで、Yii がこれらのファイルをインクルードするコードを生成するのを防ぎます。代わりに、ページに次のコードを記述して、Google からのスクリプト ファイルを明示的に含めます。

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

<?php echo CHtml::script(
 CGoogleApi::load('jquery','1.3.2') . "\n" .
 CGoogleApi::load('jquery.ajaxqueue.js') . "\n" .
 CGoogleApi::load('jquery.metadata.js')
 );
?>
......
</head>
于 2012-05-09T12:25:35.937 に答える
2

最初の Google ヒット: http://www.yiiframework.com/wiki/259/serve-jquery-and-jquery-ui-from-google-s-cdn/

clientScript 構成をオーバーライドする次に、widgetFactory 構成をオーバーライドすることもできます。

  <?php
  return array(
  // other config
  'components'=>array(
    'clientScript'=>array(
      'packages'=>array(
        'jquery'=>array(
          'baseUrl'=>'//ajax.googleapis.com/ajax/libs/jquery/1/',
          'js'=>array('jquery.min.js'),
        )
      ),
      // other clientScript config
    ),
    'widgetFactory'=>array(
      'widgets'=>array(
        'CJui<WidgetName>'=>array( // where <WidgetName> is the name of the JUI Widget (Tabs, DatePicker, etc.). Each CJuiWidget used must be declared
          'scriptUrl'=>'//ajax.googleapis.com/ajax/libs/jqueryui/1/',
          'theme'=>JUI-THEME,
          'themeUrl'=>'//ajax.googleapis.com/ajax/libs/jqueryui/1/themes/',
        ),
        // Repeat for other CJuiWidgets
      ),
    ),
    // other component config
  ),
  // other config
);
于 2012-05-10T09:13:47.397 に答える