将变量从控制器传递到在 CodeIgniter 中使用 DOMPDF 的视图

Passing variables from controller to view that works with DOMPDF in CodeIgniter

此致! 今天,我在尝试使用 DOMPDF 生成 PDF 格式的发票时遇到了问题。

让我们解释一下: 我认为我 select 发票编号。当我点击 "generate PDF" 按钮时,它是这样的:

(带你到控制器)

foreach ($this->input->post('check') as $key)
    {

    $testLayout = load_modulo('bankX', 'invoice_bankX'); //here I call the file in views dir(bankX) and the view inside the file (case 'invoice_bankX') that brings me the bank invoice layout
    $filename = 'invoice_'.$key;
    pdf_create($testLayout, $filename, TRUE);

    }

(load_modulo 函数)

function load_modulo($modulo = NULL, $tela = NULL, $diretorio = 'panel') {

$CI = & get_instance();

if ($modulo != NULL) {

    return $CI->load->view("$diretorio/$modulo", array('tela' => $tela), TRUE);
} else {


    return FALSE;
    }
}

(pdf_create 函数)

function pdf_create($html, $filename = '', $stream = TRUE) {
require_once("dompdf/dompdf_config.inc.php");

$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();

if ($stream) {
    $dompdf->stream($filename . ".pdf");
} else {

    $output = $dompdf->output();
    file_put_contents('Brochure.pdf', $output);


}

现在知道我有更多数据要传递给 'invoice_bankX' 视图(我需要 1 个变量来保留我可以在此视图中回调的银行和客户值,以便与客户一起安装发票和存储数据 )

$invoiceData = array();

$invoiceData['invoice_number'] = 344;

$invoiceData['client_name'] = 'John Masters';

因为这样我可以传递值以正确安装发票。 有人知道怎么做吗?

*注意 - 现在,如果我单击按钮生成发票 (PDF),就可以了。但是发票附带了我写给测试的静态数据

我找到了一种通过在会话中设置发票编号来执行此操作的方法。 控制器现在看起来像这样并且可以正常工作:

foreach ($this->input->post('check') as $key)
    {

        $dataInvoice = array('invoice_number' => $key);
        $this->session->set_userdata($dataInvoice);

        $testLayout = load_modulo('bankX', 'invoice_bankX');
        $filename = 'invoice_'.$key;
        pdf_create($testLayout, $filename, TRUE);

    }

这样我就可以在视图中调用

$invoice_number = $this->session->userdata('invoice_number');

并执行我想要的所有查询