如何将变量从控制器传递到视图 joomla mvc

Posted

技术标签:

【中文标题】如何将变量从控制器传递到视图 joomla mvc【英文标题】:How to pass variable from controller to the view joomla mvc 【发布时间】:2013-04-07 12:43:23 【问题描述】:

如何根据这个例子将我的变量从 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();
    
    

【问题讨论】:

【参考方案1】:

在控制器中:

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

在视图中:

class MycomponentViewItem extends JViewLegacy

  /** @var  string   my variable */
  public $myVariable;

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

【讨论】:

@pirtr_cz 如何在布局中使用这个 $myVariable? @Harsimran > 试试$this->myVariable,因为布局是视图的一部分 Notice: Undefined property: HostingViewHost::$myVariable

以上是关于如何将变量从控制器传递到视图 joomla mvc的主要内容,如果未能解决你的问题,请参考以下文章

如何将复杂的键值参数表单视图传递给mvc中的控制器?

通过 MVC 传递表单数据 - Joomla

如何将数据从剃刀视图传递到 mvc3 中的控制器?

将约束从视图传递到控制器 (MVC)

如何将tabpanel的键从视图传递到控制器asp mvc

Joomla:如何将一种表单用于前端和后端视图?