0

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

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

专辑控制器.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;
}

索引.phtml

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

1 回答 1

2

您将 $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');?>
于 2016-09-20T07:30:58.853 回答