2013-04-15 21 views
6

Jak mogę przekazać moje zmienną z joomla sub-kontrolera do widoku według tego przykładuJak przekazać zmienną z kontrolera do MVC widok joomla

class MYControllerControllerParser extends JController{ 

      public function __construct($default = array()) { 

      parent::__construct($default); 

     } 

    protected function _import($file, $type) { 

      $layout = ''; 
      switch ($type) { 

       case 'importcsv': 
        $contains_headers  = false; 
        $field_separator = JRequest::getVar('separator'); 
        $field_separator = empty($field_separator) ? ',' : $field_separator; 
        $field_enclosure = JRequest::getVar('enclosure');; 
        $field_enclosure = empty($field_enclosure) ? '"' : $field_enclosure; 
//this variable should be passed to the view 
        $this->info = $this->getImportInfoCSV($file, contains_headers, $field_separator, $field_enclosure); 
//This variable should go to view 
        $this->file = basename($file); 
        $layout = 'importcsv'; 
        break; 
      } 

    $this->getView('import','html')->display(); 
    } 
    } 

Odpowiedz

10

W Kontroler:

$view = $this->getView('import','html'); 
$view->myVariable = 'hello'; 
$view->display(); 

W Wyświetl:

class MycomponentViewItem extends JViewLegacy 
{ 
    /** @var string my variable */ 
    public $myVariable; 

    public function display($tpl = null) 
    { 
    $myVariable = $this->myVariable; 
    //... 
    } 
} 
+0

Wielkie dzięki! – fefe

+0

@pirtr_cz jak używać tej $ myVariable w układzie? –

+1

@Harsimran> spróbuj '$ this-> myVariable' ponieważ układ jest częścią widoku –