Передача переменных из контроллера для просмотра, который работает с DOMPDF в CodeIgniter

С наилучшими пожеланиями!
Сегодня я пытаюсь сгенерировать счета в формате PDF с помощью DOMPDF.

Давайте объясним:
У меня есть вид, что я выбираю идентификатор счета. Когда я нажимаю кнопку «Создать 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 var, который сохраняет значения банка и клиента, которые я могу вызвать в этом представлении, чтобы смонтировать счет-фактуру с клиентом и сохранить данные)

то есть

$ invoiceData = array ();

$ invoiceData [‘invoice_number’] = 344;

$ invoiceData [‘client_name’] = ‘John Masters’;

Потому что таким образом я могу передать значения, чтобы правильно смонтировать счет.
Кто-нибудь знает как?

* примечание — прямо сейчас, если я нажму кнопку, чтобы сгенерировать счет (PDF), это работает. Но счет идет со статическими данными, которые я написал, чтобы проверить

0

Решение

Я нашел способ сделать это, установив номер счета в сеансе.
Контроллер теперь выглядит так и работает:

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');

и делать все запросы, которые я хочу

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]