Динамический вызов данных в почте и функция PDF в Codeigniter PHP - PullRequest
0 голосов
/ 15 марта 2019

Я работаю над проектом, в котором клиент хочет отправить копию PDF продавцу, как только он помечает заказ как полученный.

Я успешно экспортировал PDF определенного порядка, я вызвал функцию mail в той же функции, чтобы при генерировании PDF отправлялось письмо с вложенным PDF, сгенерированным из html с использованием библиотеки mpdf.

проблемы, с которыми я сталкиваюсь, ->

  1. имя файла PDF в формате mpdf является статическим, например xyz.pdf.когда я пишу "xyz".$order['order_id']".pdf", это не работает .. Я также попытался сохранить его в переменной и вызвать его.Я хочу сохранить каждый PDF с его идентификатором заказа.я попытался повторить идентификатор заказа.но это дает нулевое значение в текущей функции.но показывает значения везде в контроллере.

  2. работает только ввод почтового идентификатора вручную.для бывшихесли я пишу xyz@abc.com, он отправляет почту на этот почтовый идентификатор ... но если я пишу туда $orders['vendor_email'];, это не работает.

  3. в теме, если я напишу "xyzxyz", почту, отправленную этой темой .. но если я напишу - "xyzzyz".$orders[order_id] для показа идентификатора заказа со строкой в ​​теме ... тогда его отправляющая почтабез темы.

вот мой код.пожалуйста, просмотрите и помогите мне.

- Функция почты в global_helper.php

 function sendEmail($email, $subject, $message,$bcc='',$cc='',$from='',$attach=''){   //DebugBreak();
    $tobj =&get_instance();
    $tobj->load->library('email');
    $tobj->email->clear();

    $subject_text = ($tobj->session->userdata('company_name') != '') ? $tobj->session->userdata('company_name') : "Udaan";

    $config=array(
    'charset'=>'utf-8',
    'wordwrap'=> TRUE,
    'mailtype' => 'html'
    );

    $tobj->email->initialize($config);

    if(!empty($from))
    $tobj->email->from($from);
    else
    $tobj->email->from('admin@xyz.com',$subject_text);
    $tobj->email->to($email);
    if(!empty($bcc))
        $tobj->email->bcc($bcc);
    if(!empty($cc))
        $tobj->email->cc($cc);
    if(!empty($attach))
        $tobj->email->attach($attach);    
    $tobj->email->subject($subject);
    $tobj->email->message($message);
    $tobj->email->send();

}

Мой контроллер ->

function sendgrnmail($oid)
{
$order_id                     = $order['order_id'];
$this->data['company']        = $this->om->getCompanyDetails();
$this->data['company_info']   = $this->om->getCompanyDetails();
$this->data['order']          = $this->om->getOrders(array(
'order_id' => $oid
));
$this->data['order_products'] = $this->om->getOrderProducts($oid);
$this->load->library('m_pdf');
$this->data['title']       = "GRN";
$this->data['description'] = "";
$this->data['description'] = $this->official_copies;
$html                      = $this->load->view('vendor/mail_grn', $this->data, true);
// echo $html;
// die();
$pdfFilePath               = "mypdfName-" . time() . "-download.pdf";
$pdfFilePath               = FCPATH . "attach/VOGRN.pdf";
// here if i want to save file with order_id . but not working when i write $order(order_id)., even if i echo any info here its not loading in view.. other then echo $html.


$pdf = $this->m_pdf->load();
$pdf->WriteHTML($html, 2);
$pdf->Output($pdfFilePath, "F");
$message = "<strong>This is system generated mail, please do not reply on this. </strong>";
// here also i want to send dynamica text with order id and other details. but not working . like - "please contact". $order['contact_info']; //

sendEmail("maildid@domain.com", "GRN", $message, $bcc = '', $cc = 'mailidcc@domain.com', $from = '', $pdfFilePath);

// in the above sendemail function dynamic data is not loading up in mail id and subject(grn) }
...