[英]How to get VOLT TEMPLATE in a variable inside CONTROLLER?
我正在嘗試使用DOMPdf生成PDF,其中我需要伏特模板的HTML。 volt模板是動態生成的。 因此,如何在控制器中將volt模板html作為變量獲取。
MyController動作:
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();
}
模板:
<div id="print_result" style="display:none">
<div class="row">
<!-- Start of Symptoms Card/Table/Section -->
<div class="col-md-6">
<div class="card">
<div class="card-header">
<div class="text-center"><span class="section-heading-text">SYMPTOMS</span></div>
</div>
<?php if($quizDataArray['symptoms']): ?>
{% for key, symptom in quizDataArray['symptoms'] %}
<div class="col-md-12 card-box">
<div class="card-body">
<h5 class="card-title">{{ symptom['title'] }}</h5>
<?php if (isset($symptom['results'])): ?>
<h6 class="card-subtitle mb-2 text-muted">
{% for key, result in symptom['results'] %}
<?php $causeId = key($result); ?>
{{ resultKeyArray[key] }} <?php if($causeId) { ?> {{ result[causeId] }} <?php } ?>
{% endfor %}
</h6>
<?php endif;?>
</div>
</div>
{% endfor %}
<?php endif; ?>
<div class="text-center"><span class="section-heading-text">DR. RECOMMENDED PRODUCTS</span></div>
<?php if($thingsToTry): ?>
<?php foreach ($thingsToTry as $remedy): ?>
<div class="col-md-12 card-box">
<div class="card-body">
<!-- Todo: To print image here -->
<div class="col-md-8">
<div class="info-box">
<h5><?php echo $remedy['title'] ?></h5>
<p>
<?php echo $remedy['description'] ?>
</p>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<?php endforeach; ?>
<?php endif; ?>
<div class="text-center"><span class="section-heading-text">Health Food Store Recommendations</span></div>
<?php if($thingsToTry): ?>
{% for key, remedy in thingsToTry %}
<div class="remedy-box">
<h5><strong>*{{ remedy['title'] }}</strong></h5>
</div>
{% endfor %}
<?php endif; ?>
</div>
</div><!-- End of Symptoms Card/Table/Section -->
</div>
如果需要任何解釋,我想補充說明。
謝謝
首先,您應該在模板中使用volt。 現在,您使用一次php一次電壓,甚至在此示例中也可以在任何地方使用一次電壓。
要從伏特獲取html,請使用例如控制器:
$view = $this->view;
$view->start();
$view->render('mail', 'exam');
$view->finish();
html = $view->getContent();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.