显示多个视图的内容

时间:2012-12-29 22:55:24

标签: php ajax cakephp jqplot

我有一个呈现图表的功能:

function testSave(){
    $this->_renderChart(156);
}

这是我用来测试的。 testSave()函数的视图显示_renderChart(156)调用的内容。但是当我做的时候

function testSave(){
    $this->_renderChart(156);
    $this->_renderChart(153);
}

然后它只显示$this->_renderChart(153)来电的内容,但不会显示$this->_renderChart(156)的内容。

_renderChart($chart_id)函数说明了:

function _renderChart($chart_id = null){
    if($chart_id == null)
        return false;
    //some magic...
    $this->layout = 'dummyfolder\dummy_layout_name';
}

在_renderChart函数的视图中,我有一个javascript代码,它是由ajax在服务器上将图表的图像保存为.png。但是在调用两次$this->renderChart()的情况下,只渲染它的最后一次出现,只保存一个图像而不是两个。

1 个答案:

答案 0 :(得分:0)

嗯,也许是因为你正在连续调用'this'的功能。那么这意味着$ this始终是最后一次调用。如何将调用初始化为变量然后返回变量。像这样:

$var1 = $this->_renderChart(156);
$var2 = $this->_renderChart(153);

return array($var1, $var2);

编辑:

$array = array("156", "153");
$this->_renderChart($array);

然后是这样的:

function _renderChart($chart_id = null){
    if($chart_id == null)
        return false;
     foreach($chart_id as $key => $value) {
        //some magic...
     }
     $this->layout = 'dummyfolder\dummy_layout_name';
}