2011-08-09 13 views
1

に戻って、これで苦労しています。次のような問題が...ビューからコントローラにデータを転送し、

である私は、だから私は、ページ「resultat」を持っていると別のメニューを選択する上で、コンテンツがAJAX経由に変更する必要がYiiの

の世界では初心者です。ここで図

<!--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を使用するか、結果をエコーできますが、通常はタグ名にHTMLオブジェクトを渡すCHtml ::タグ関数があります。hereまたはhereを参照してください。しかし、関数がJSONを期待しているようですJSONとして結果を出力するには、Yii JSON methodsを参照してください。これが問題ではない場合は、もう少し説明する必要があります。

0

通常のYiiとAjaxのボタンやリンクや、これまでどのようなケースがあるかもしれない上、あなたが成功

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

にして、コントローラ内部で行う、あなたはあなたのビューに戻って応答をエコーすることができます。また、ビューにjQueryがロードされていることを確認してください!

関連する問題