直接设置视图内容而不是使用模板

时间:2013-11-22 22:20:45

标签: zend-framework2 wkhtmltopdf

我想知道是否有人知道如何在不使用Zend Framework 2中的模板的情况下设置视图的内容。我让用户在ckeditor中创建电子邮件,存储在文本文件中,然后抓取文件内容并尝试生成用于打印的pdf。这是控制器中发生的事情:

$emails = $this -> email() -> getEmails();

//Render the display
$viewRender = $this->getServiceLocator()->get('ViewRenderer');
$view->setTemplate('module/controller/template.phtml');
$html = $viewRender->render($view);

//Create the HTML to PDF class instance & set the bin path
$wkpdf = new WkHtmlToPdf(array('bin'=>'C:\\Program Files (x86)\\wkhtmltopdf\\wkhtmltopdf'));

//Add it to the PDF
$wkpdf->addPage($html);

//Send it to the client
$wkpdf->send();

我想用一些东西替换setTemplate()方法,该方法将直接使用我从电子邮件文件中检索到的html字符串设置视图的内容。有什么想法吗?

这就是我提出的:

 $emails = $this -> email() -> getEmails();

 $email = $emails->$email_name;

 //Create the HTML to PDF class instance & set the bin path
 $wkpdf = new \WkHtmlToPdf(array('bin'=>$this->settings()->getSettings()->wkhtmltopdf_path));

 //Add the email to the PDF
 $wkpdf->addPage("<html>".$email."</html>");

 //Send it to the client
 $wkpdf->send();

我需要做的就是用WtmlHtmlToPdf的html标签包装字符串来处理它。

1 个答案:

答案 0 :(得分:0)

在您的操作中,在将内容返回到您的视图文件之前,

  $result = new ViewModel(array('view_contant_variable' => $content_to_assign));
  $result->setTerminal(true);
  return $result;

我希望这可以帮助您显示没有模板内容的视图文件。