2011-08-09 197 views
1

我一直在努力與此。問題是如下...從視圖傳輸數據到控制器並返回查看

我在警予的世界新手

所以,我有我的頁面「resultat」和選擇不同的菜單,內容必須通過Ajax的變化。

這裏視圖:

<!--Content_Resultat--> 
<div class="content_resultat"> 
    <div class="header"> 
     <div class="header_top"> 
      <div class="centerheader"> 
      <a href="#">retournez à l'étape en cours</a> 
      </div> 
     </div> 
     <div class="header_bottom"> 
     <ul class="centerlist"> 
      <li><a href="#"><span>1</span> votre piece</a></li> 
      <li><a href="#"><span>2</span> votre exigence</a></li> 
      <li><a href="#"><span>3</span> vos autre apareils</a></li> 
      <li><a href="#"><span>4</span> votre utilisation</a></li> 
     </ul> 
    </div> 
    </div> 
    <div class="barre_titre"> 
     <a href="#"> 
      pour vous, lg vous propose 
     </a> 
     <div class="print"> 
      <a href="#">imprimer la liste</a> 
     </div> 
    </div> 
    <div id="container"> 
    <?php echo CHtml::beginForm();?> 
     <div class="onglet"> 
      <ul class="menu"> 
       <?php $i = 1; 
        foreach ($data as $categorie) {?> 
        <li class="active"> 
        <div class="onglet<?php echo $i;?>"> 
         <img alt="no-picture" src="<?php echo $categorie->image;?>" /> 
         <h4><?php echo CHtml::ajaxLink(
         $categorie->titre, 
          Yii::app()->createUrl('getproduit'), 
          array('type'=>'POST', 
           'dataType' =>'json', 
           'enableAjaxValidation'=>true, 
           'update'=>'#carousel_container .contentWrapper #carousel_inner', 
           'data'=>'js:jQuery(".menu li h4 a").serialize()', 
           'success'=>'function(data){ $("#carousel_container li").text(data);}', 

           'error'=>'function(a,b,c){alert(b)}' 
       ));?></h4> 
        </div> 
        </li> 

       <?php $i++; }?> 
      </ul> 
     </div> 
    </div> 

    <div class="carousel_tv" id="carousel_container"> 

      <div class="contentWrapper"> 
       <div id="carousel_inner"> 
        <ul id="carousel_ul"> 
         <li> 
          <div class="carousel_pic"> 
           <img alt="no-picture" src="images/image1.png" /> 
           <div> 
            <h3>gamme le5510</h3> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius nulla eu neque porttitor in mattis lectus pulvinar. </p> 
           </div> 
          </div> 
         </li> 
         <li> 
          <div class="carousel_pic"> 
           <img alt="no-picture" src="images/image2.png" /> 
           <div> 
            <h3>gamme le5510</h3> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius nulla eu neque porttitor in mattis lectus pulvinar. </p> 
           </div> 
          </div> 
         </li> 
         <li> 
          <div class="carousel_pic"> 
           <img alt="no-picture" src="images/image3.png" /> 
           <div> 
            <h3>gamme le5510</h3> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius nulla eu neque porttitor in mattis lectus pulvinar. </p> 
           </div> 
          </div> 
         </li> 
         <li> 
          <div class="carousel_pic"> 
           <img alt="no-picture" src="images/image1.png" /> 
           <div> 
            <h3>gamme le5510</h3> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius nulla eu neque porttitor in mattis lectus pulvinar. </p> 
           </div> 
          </div> 
         </li> 
         <li> 
          <div class="carousel_pic"> 
           <img alt="no-picture" src="images/image2.png" /> 
           <div> 
            <h3>gamme le5510</h3> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius nulla eu neque porttitor in mattis lectus pulvinar. </p> 
           </div> 
          </div> 
         </li> 
         <li> 
          <div class="carousel_pic"> 
           <img alt="no-picture" src="images/image3.png" /> 
           <div> 
            <h3>gamme le5510</h3> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius nulla eu neque porttitor in mattis lectus pulvinar. </p> 
           </div> 
          </div> 
         </li> 
         <li> 
          <div class="carousel_pic"> 
           <img alt="no-picture" src="images/image1.png" /> 
           <div> 
            <h3>gamme le5510</h3> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius nulla eu neque porttitor in mattis lectus pulvinar. </p> 
           </div> 
          </div> 
         </li> 
         <li> 
          <div class="carousel_pic"> 
           <img alt="no-picture" src="images/image2.png" /> 
           <div> 
            <h3>gamme le5510</h3> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius nulla eu neque porttitor in mattis lectus pulvinar. </p> 
           </div> 
          </div> 
         </li> 
         <li> 
          <div class="carousel_pic"> 
           <img alt="no-picture" src="images/image3.png" /> 
           <div> 
            <h3>gamme le5510</h3> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius nulla eu neque porttitor in mattis lectus pulvinar. </p> 
           </div> 
          </div> 
         </li> 
        </ul> 
       </div> 
       <div> 
        <h1>No Content</h1> 
       </div> 
       <div> 
        <h1>No Content</h1> 
       </div> 
      </div> 

     </div> 
    </div> 
<?php echo CHtml::endForm();?> 

數據被通過一個xml顯示。

控制器:

public function actionGetproduit(){ 
    $obj_produit = new Gamme(); 
    $produits = $obj_produit->get_produits('tv'); 

    foreach ($produits as $data){ 

     echo CHtml::tag('produit',array('style'=>'display:block'),CHtml::encode($data),true); 


    } 

}

我需要在視圖中顯示的數據是從控制器發送..

但無法做到這一點,任何幫助PLSS

謝謝:-(

回答

0

對於阿賈克斯回報,你通常我uld可以使用renderPartial或回顯結果,但CHtml ::標記函數通常會爲標記名稱傳遞HTML對象,請參閱herehere但它看起來像您的函數期望JSON,因此您需要將結果輸出爲JSON,請參閱Yii JSON methods。如果這不是問題,你可能需要多解釋一下。

0

通常與誼Ajax的按鈕或鏈接或什麼都的情況可能是,你成功

array('success'=>'js:function(data) { 
jQuery("div#status").html(data); 
} 

和控制器內部做了,你可以重複響應返回給你的看法。還要確保你已經在視圖中加載了jQuery!

相關問題