2014-02-26 82 views
0

我正在製作一個語言選擇器,並遵循this wiki。我可以實現該小部件,但是當我嘗試下拉時,它不會進行回發。對於控制器我有這樣的想法,控制器應該是:components/Controller.php而不是組件/ MyController.php。但無論如何都行不通。有誰知道在這裏做什麼?我失去了一些關於這裏捕回發,我認爲的要點..YII語言選擇器不會回發到控制器

控制器(分量/ Controller.php這樣):

function init() 
     { 
      parent::init(); 
      $app = Yii::app(); 
      if (isset($_POST['_lang'])) 
      { 
       $app->language = $_POST['_lang']; 
       $app->session['_lang'] = $app->language; 
      } 
      else if (isset($app->session['_lang'])) 
      { 
       $app->language = $app->session['_lang']; 
      } 
      Yii::app()->session['_lang'] = 'anders'; 
     } 

Widget類(組件/ LangBox.php):

class LangBox extends CWidget 
{ 
    public function run() 
    { 
     $currentLang = Yii::app()->language; 
     $this->render('langBox', array('currentLang' => $currentLang)); 
    } 
} 

小工具視圖(分量/視圖/ langBox.php)

<?php echo CHtml::form(); ?> 
    <div id="langdrop"> 
     <?php echo CHtml::dropDownList('_lang', $currentLang, array(
      'en_us' => 'English', 'is_is' => 'Icelandic'), array('submit' => '')); ?> 
    </div> 
<?php echo CHtml::endForm(); ?> 
+0

您是否在Chrome/Firefox開發人員工具的網絡選項卡上看到任何POST請求?你是否從'Controller'('components/controller.php')擴展你的控制器? – Ezze

+0

您的代碼適用於我。你能以什麼方式描述它不適合你嗎?你期待什麼輸出,你會得到什麼? – JamesG

回答

0

我相信你的代碼工作正常,但AR你真的提交表格嗎?你應該真的有一個jQuery的檢測下拉列表更改並提交到服務器並刷新頁面。其他一切都是健全的。

我不知道'submit'=>''是做什麼的。