【问题标题】:How to pass values from Controller to view in zend framework 3?如何从控制器传递值以在 zend 框架 3 中查看?
【发布时间】:2016-09-19 23:32:48
【问题描述】:

我在 Zend Framework 3 中将值从控制器传递到视图时遇到问题。

我尝试了以下方法:尝试在索引页中打印 $msg,它在索引页上具有空值,但在 add.phtml 中正确显示了消息。

AlbumController.php

public function addAction()
{
  $form = new AlbumForm();
  $msg ='hello';
  print_r($msg);
  $form->get('submit')->setValue('Add');
  $request = $this->getRequest();

  if ($request->isPost()) {
      $album = new Album();

      $form->setInputFilter($album->getInputFilter());
      $form->setData($request->getPost());
      $add = $request->getPost('submit', 'Cancel');
      if ($form->isValid()) {
          $album->exchangeArray($form->getData());
          $this->table->saveAlbum($album);
          //$this->flashMessenger()->addSuccessMessage('<b>Added Successfully...</b>');
          //$successMessages = $this->flashMessenger()->hasSuccessMessages() ? $this->flashMessenger()->getSuccessMessages() : null;
          //print_r($successMessages);exit;
      } else {
          //$this->flashMessenger()->addMessage('<div class="alert alert-danger" role="alert"><b>Failed to Add...!!</b></div>');
      }
      return $this->redirect()->toRoute('album');
  }
  //return array('form' => $form,'success' => $successMessages);
  $view = new ViewModel(array('message' => $msg, 'form' => $form));
  return $view;
}

index.phtml

<?php
     echo($this->msg ? 'true' : 'false');
?>

【问题讨论】:

    标签: zend-framework zend-framework2 zend-framework3


    【解决方案1】:

    您将 $msg 作为message 传递给视图。所以需要在视图中使用message来访问。

    <?php echo($this->message ? 'true' : 'false');?>
    

    或者像这样使用它:

    // AlbumController.php
    $view = new ViewModel(array('msg' => $msg, 'form' => $form));
    
    // index.phtml
    <?php echo($this->msg ? 'true' : 'false');?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      • 2012-09-29
      • 2017-07-27
      相关资源
      最近更新 更多