如何在CONTROLLER中的变量中获取VOLT TEMPLATE?

时间:2018-09-27 13:56:23

标签: php pdf-generation phalcon dompdf volt

我正在尝试使用DOMPdf生成PDF,其中我需要伏特模板的HTML。 volt模板是动态生成的。因此,如何在控制器中获取volt模板html作为变量。

MyController操作:

@Transactional
public List<Message> receiveAllFromQueue(String destination) {
    return jmsTemplate.execute(session -> {
        try (final MessageConsumer consumer = session.createConsumer(session.createQueue(destination))) {
            List<Message> messages = new ArrayList<>();
            Message message;
            while ((message = consumer.receiveNoWait()) != null) {
                messages.add(message);
            }
            return messages;
        }
    }, true);
}

模板:

public function printEvaluationQuizResultAction() {

        // I WANT TO GET HTML FROM a TEMPLATE in $html variable 
        //$html = $this->request->getPost('html');

        // instantiate and use the dompdf class
        $dompdf = new Dompdf();

        $dompdf->loadHtml($html);

        // (Optional) Setup the paper size and orientation
        $dompdf->setPaper('A4', 'landscape');

        // Render the HTML as PDF
        $dompdf->render();

        // Output the generated PDF to Browser
        $dompdf->stream();
    }

如果需要任何解释,我想添加更多详细信息。

谢谢

1 个答案:

答案 0 :(得分:0)

首先,您应该在模板中使用volt。现在,您使用一次php一次电压,甚至在此示例中也可以在任何地方使用电压。

要从伏特获取html,请在例如控制器中使用

$view = $this->view;
$view->start();
$view->render('mail', 'exam');
$view->finish();
html = $view->getContent();