1

嗨,我正在 Zend Report 控制器脚本中为 highcharts 设置一些变量,如下所示:

    $chartOptions = array(
        "chart"=> array(
            //chart type
            "type" => "bar",
                    "spacingBottom" => 25
        ),
        "height"=>1,
        "title" => array(
            "text" => $spm->getFullName()
        ),

等等

我想要结束的json也有这个:

exporting: {
    buttons: {
        exportButton: {
            menuItems: [{
                text: 'Export to PNG (with text)',
                onclick: function() {
                    this.exportChart({},{
                        labels: {
                            items:[{
                                html: "System: x.x.x, Date/Time: 30:05:2012 14:32:00",
                                style: {
                                    left: '50%',
                                    top: '250px'
                                }                                            
                            }]
                        }
                    });
                }
            }, {
                text: 'Export to PNG (default)',
                onclick: function() {
                    this.exportChart();
                }
            },
            null,
            null
            ]
        }
    }
}

所以我需要像这样设置PHP数组:

$chartOptions = array(
    "chart"=> array(
        //chart type
        "type" => "bar",
        "spacingBottom" => 25
     ),
    "height"=>1,
    "title" => array(
        "text" => $spm->getFullName()
    ),
    "exporting" => "buttons" =>

等等。但是由于javascript函数,我不确定该怎么做。Zend 报表控制器将所有变量复制到视图脚本中,我不知道它是如何将 php 转换为 json 的,但它确实可以工作:/ 抱歉,我无法提供更多帮助。

我想要的只是输出的 json 包含上面的 javascript,谢谢!

4

2 回答 2

1

这是一个可以帮助您的解决方案:http: //solutoire.com/2008/06/12/sending-javascript-functions-over-json/

实际上,这个想法是将函数编码为字符串,然后在将其传递给 javascript 并将其传递到 highcharts 之前对其进行解码。

于 2012-05-30T19:42:54.577 回答
0

似乎可以使用 Zend 将 javascript 回调编码为 json 数据。更多信息在这里: http: //framework.zend.com/manual/en/zend.json.advanced.html

于 2012-05-30T23:25:56.143 回答