0

Zend Framework 3 で Controller から View に値を渡すのに問題があります。

私は次のことを試しました:インデックスページに印刷しようとしました$msgが、インデックスページにnull値がありますが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');
?>
4

1 に答える 1

2

$ msgをビューに渡していますmessagemessageしたがって、ビューでアクセスするために使用する必要があります。

<?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 に答える