Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CodeIgniter-从内容视图文件在页脚视图中加载脚本_Codeigniter_Buffer_Delay - Fatal编程技术网

CodeIgniter-从内容视图文件在页脚视图中加载脚本

CodeIgniter-从内容视图文件在页脚视图中加载脚本,codeigniter,buffer,delay,Codeigniter,Buffer,Delay,我有一个视图模块,其中包含用于上传文件的html和javascript。我希望脚本加载到页脚中(仅作为示例)。因此,基本上视图文件应该能够更改页脚或页眉的内容。我试图通过先将页面读入缓冲区,然后将内容输出到模板文件来实现这一点 我的控制器的功能如下所示- public function test() { ob_start(); $this->load->view('content'); // uploader module ob_end_clean();

我有一个视图模块,其中包含用于上传文件的html和javascript。我希望脚本加载到页脚中(仅作为示例)。因此,基本上视图文件应该能够更改页脚或页眉的内容。我试图通过先将页面读入缓冲区,然后将内容输出到模板文件来实现这一点

我的控制器的功能如下所示-

public function test()
{
    ob_start();
    $this->load->view('content');  // uploader module
    ob_end_clean();
    $this->load->view('template', array($out1, $out2));  // ideally this will be output into a template file.  right now i'm just trying to echo it
}
<html>
<body>
<?php echo $out1; ?>

<scripts>other javascript code and includes</script>
<?php echo $out2; ?>
</body>
</html>
我的上传模块看起来像这样-

<div>some div for uploading</div>
<?php $out1 = ob_get_contents(); ?>
<?php ob_clean(); ?>

<script>
Logic for uploading that needs to go in the footer
</script>
<?php $out2 = ob_get_contents(); ?>
<?php ob_clean(); ?>
一些用于上传的div
需要在页脚中进行上传的逻辑
模板文件如下所示-

public function test()
{
    ob_start();
    $this->load->view('content');  // uploader module
    ob_end_clean();
    $this->load->view('template', array($out1, $out2));  // ideally this will be output into a template file.  right now i'm just trying to echo it
}
<html>
<body>
<?php echo $out1; ?>

<scripts>other javascript code and includes</script>
<?php echo $out2; ?>
</body>
</html>

其他javascript代码,包括
但是,我无法保存缓冲区内容并将其传递回控制器($out1,$out2)。有人知道我如何实现这一点吗?其目标基本上是延迟加载javascript代码,但让javascript代码驻留在内容文件中,以便更容易编码。最好的方法是什么?我需要全局数组还是新的父控制器


谢谢

您可以在视图之间传递变量,如下所示:

<? ob_start(); ?>
<script type="text/javascript">
  var foo = 66;
  console.log(foo + 16);
</script>
<? $this->load->var('my_script', ob_get_clean()) ?>

var-foo=66;
console.log(foo+16);

如果在视图(或控制器)中运行上述代码^^,则缓冲区的内容将在以后加载为
$my_script

的任何视图中可用。您可以在视图之间传递变量,如下所示:

<? ob_start(); ?>
<script type="text/javascript">
  var foo = 66;
  console.log(foo + 16);
</script>
<? $this->load->var('my_script', ob_get_clean()) ?>

var-foo=66;
console.log(foo+16);

如果您在视图(或控制器)中运行上述代码^^,则缓冲区的内容将在以后作为
$my_script
加载的任何视图中可用,谢谢!这就是我要找的!谢谢这就是我要找的!