tuschkan  
          
              
                June 29, 2011,  6:32am
               
              1 
           
         
        
          Хотелось бы разобраться, каким образом лучше всего сделать загрузку jquery.js по всему проекту?
В блоге в примеме на странице контакты происходит загрузка
<script type="text/javascript" src="/assets/3d9484f9/jquery.js"></script>
<script type="text/javascript" src="/assets/3d9484f9/jquery.yiiactiveform.js"></script> 
Видимо загрузку jquery.js вызывает yiiactiveform. Но, после перехода с контактов на другу страницу, jquery.js боле не загружен и все сркипты, которым он нужен - не работают.
Мне нужно в main.php сделать загрузку
Yii::app()->clientScript->registerScriptFile('/js/jquery.js', CClientScript::POS_HEAD) 
или нужно загружать с папки assets?
И не будет ли возникать конфликтов, если загрузка jquery.js будет происходить дважды, или с разных фалов?
Thanks!
         
        
           
         
            
       
      
        
          
          
            napeHeK  
          
              
                June 29, 2011,  7:00am
               
              2 
           
         
        
          config/main.php
<?php
return array(
    'components' => array(
         'clientScript' => array(
              'scriptMap' => array(
                    'jquery.js' => false,
              )
          ),
     ...
Далее просто подключи jQuery в своём layout до тега title…
<script type="text/javascript" 
        src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<title>....</title>
или как ты сказал зарегистрируй jQuery…
Yii::app()->clientScript->registerScriptFile('/js/jquery.js', CClientScript::POS_HEAD)
Можно ещё как-то сделать, более правильно, через сам Yii, но я обычно так делаю.
         
        
           
         
            
       
      
        
          
          
            tuschkan  
          
              
                June 29, 2011,  7:14am
               
              3 
           
         
        
          я вот так сделал:
Yii::app()->getClientScript()->registerCoreScript('jquery'); 
и заработало. Пока не разобрался, почему …
         
        
           
         
            
       
      
        
          
          
            napeHeK  
          
              
                June 29, 2011,  7:34am
               
              4 
           
         
        
          Это и есть тот правильный вариант. Но я предпочитаю загружать jQuery c гугла…
         
        
           
         
            
       
      
        
          
          
            tuschkan  
          
              
                June 29, 2011,  7:41am
               
              5 
           
         
        
          
ну а не будет конфликтов, если грузить с папки js, а фреймворк подгрузит с папки assets, например, на странице контакты, как я описывал выше. Ели Yii проверяет, загружен ли такой файл?
         
        
           
         
            
       
      
        
          
          
            napeHeK  
          
              
                June 29, 2011,  8:51am
               
              6 
           
         
        
          Вот так Yii загрузит jQuery только один раз.
Yii::app()->getClientScript()->registerCoreScript('jquery'); 
 
        
           
         
            
       
      
        
        
          Для тех, кто предпочитает загружать jquery  с гугла, в коде
'scriptMap' => array(
                    'jquery.js' => false,
              )
вместо false поставьте адрес Api