将$ data变量从CodeIgniter中的控制器传递给iframe

时间:2015-05-21 10:06:31

标签: javascript php codeigniter iframe

我想在iframe中显示一个页面。此页面包含email内容,因为我正在构建内置电子邮件系统。但是CSS的电子邮件内容覆盖了我的CSS样式。现在这个页面从我通过控制器的$data变量中获取一些数据。

为避免出现CSS样式问题,我想在iframe中显示该页面。 (如果有人有任何其他解决方案,欢迎)。

inboxdetailspage.php --> View which displays email contents
mailactions.php  --> controller which passes $data to inboxdetailspage.php

这是完成它的功能。

function viewInboxDetails(){
        $mailId            = $this->uri->segment('4');
        $data['emailInfo'] = $this->fetchParticularEmailInfo($mailId);
        $data['titleText'] = 'Email Information';


        $this->load->view('admin/inboxdetailspage',$data);

    }

我对如何实现此功能绝对空白

3 个答案:

答案 0 :(得分:1)

无法将数据从同一个控制器传递到h=SYSTEM("wgnuplot -persist input.txt") IFRAME基本上只是特定页面上的另一个URL显示。因此,您所能做的就是可以通过URL传递数据,就是这样! 如何实现这一点,就是创建另一个(说)链接,通过从URL获取ID并在iFrame中显示该URL来显示邮件内容。例如,

<强>控制器:

IFRAMEs'


查看:

all_mails.php

public function all_mails()
{
    $data['mails'] = $this->xyz_model->get_mails();

    $this->load->view('all_mails.php', $data);
}

public function mail_content($mail_id)
{
    $data['mail'] = $this->xyz_model->get_mail_content($mail_id);

    $this->load->view('mail_content.php', $data);
}

mail_content.php

<?php foreach($mails as $mail) { ?>

   <table>
       <tr>
           <td><?php echo $mail->from; ?></td>
           <td><?php echo $mail->subject; ?></td>
           <!-- Your email content  -->
           <td>
               <iframe src="/xyz/mail_content/<?php echo $mail->id; ?>"></iframe>
           </td>
       </tr>
   </table>

<?php } ?>

答案 1 :(得分:0)

首先将$数据传递到您的视图,并从那里调用另一个控制器,该控制器可以使用自己的视图呈现整个iframe。

答案 2 :(得分:0)

在视图中创建一个iframe,链接到控制器中的另一个函数(新页面)。在此页面中,仅根据电子邮件显示电子邮件内容。