2013-04-15 14 views
6

Come faccio a passare la mia variabile da sub-controller joomla alla vista secondo questo esempioCome passare variabili dal controller al MVC vista 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(); 
    } 
    } 

risposta

10

In Controller:

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

In View:

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

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

Grazie mille funziona !! – fefe

+0

@pirtr_cz come usare questo $ myVariable nel layout? –

+1

@Harsimran> prova '$ this-> myVariable' poiché il layout fa parte di una vista –

Problemi correlati