Проблемы с параметрами экспорта HighCharts Codeigniter

#javascript #php #codeigniter #highcharts

#javascript #php #codeigniter #highcharts

Вопрос:

Я работаю с фреймворком CodeIgniter PHP и библиотекой HighCharts под редакцией Ронана Глу,

На данный момент я визуализирую диаграммы из этого кода :

 $arDATA = $this->m_charts->get_ar_data($this->m_charts->chart_test);
$this->highcharts->from_result($arDATA)
                 ->set_type('bar')
                 ->set_title('Title1', 'Subtitle1')
                 ->add();
$data['charts'] = $this->highcharts->render();

var_dump($data['charts']);
//output : 
    <script type="text/javascript">
$(function(){
Highcharts.setOptions({"chart":{"backgroundColor":{"linearGradient":
[0,0,500,500],"stops":[[0,"rgb(255, 255, 255)"],
[1,"rgb(240, 240,255)"]]},"shadow":true},"plotOptions":{"series":
{"stacking":"normal"}}});

var chart_1 = new Highcharts.Chart({"series":[{"name":"n-2","data":
[200,150,350]}],"chart":{"renderTo":"hc_chart_1","type":"column"},"xAxis":
{"categories":["this","is a","graph"]},"title":{"text":"T1"},"subtitle":
{"text":"ST1_1"}});
});
 

Чтобы включить мои параметры печати (код ниже) в диаграмму, я попытался вставить его в $data[‘charts’], взорвав строку после ряда, используя это: (шаблон: ‘]}]’ отмечает конец ряда)

 $charts_arr = explode('*', str_replace(']}],', ']}],*', $data['charts']));
$charts_arr[2] = $charts_arr[1];
$charts_arr[1] = exportingOptions($uc, $dt, $ap);

public function exportingOptions($userConnected, $dateTime, $authorizationPrint) {
        if ($authorizationPrint) {
            $print = "exporting: {chartOptions: {chart: {events: "
                    . "{load: function () {"
                    . "this.renderer.text('-CONFIDENTIEL-', 75, 325).attr({rotation: -25}).add();"
                    . "this.renderer.text('$userConnected', 315, 290).attr({rotation: -25}).add();"
                    . "this.renderer.text('$dateTime', 190, 310).attr({rotation: -25}).add()}}}},"
                    . "buttons: {contextButton: {menuItems: [{text: 'Print Chart',onclick: function() {"
                    . "this.renderer.text('-CONFIDENTIEL-', 350, 350).attr({rotation: -25,id:'1'}).add();"
                    . "this.renderer.text('$userConnected', 600, 300).attr({rotation: -25,id:'2'}).add();"
                    . "this.renderer.text('$dateTime', 470, 330).attr({rotation: -25,id:'3'}).add();"
                    . "this.print(); $(#1).remove(); $(#2).remove(); $(#3).remove();}}, {"
                    . "text: 'Download PNG image', onclick: function() {this.exportChart({type: 'image/png'});}},{"
                    . "text: 'Download JPEG image', onclick: function() {this.exportChart({type: 'image/jpeg'});}},{"
                    . "text: 'Download PDF document', onclick: function() {this.exportChart({type: 'application/pdf'});}},{"
                    . "text: 'Download SVG vector image', onclick: function() {this.exportChart({type: 'image/svg xml'});},separator: false}]}}},";
        } else {
            $print = "exporting: {enabled: false},";
        }
        return $print;
    }
 

Но диаграмма больше не отображается после добавления параметров.
Не стесняйтесь обращаться ко мне за дополнительными источниками или объяснениями, если вам нужно.
Все подсказки приветствуются 🙂

РЕДАКТИРОВАТЬ: неперехваченная ошибка синтаксиса: неожиданный недопустимый токен в строке :

 var chart_1 = new Highcharts.Chart({"series":[{"name":"n-2","data":[200,150,350]},{"name":"n-1","data":[225,175,375]},{"name":"n","data":[150,175,300]},{"name":"n 1","data":[300,200,400]},{"name":"n 2","data":[180,190,270]},{"name":"n 3","data":[230,140,250]}],exporting: {chartOptions: {chart: {events: {load: function () {this.renderer.text('-CONFIDENTIEL-', 75, 325).attr({rotation: -25}).css({color: '#FFE8E8',fontSize: '70px',}).add();this.renderer.text('NAME', 315, 290).attr({rotation: -25}).css({color: '#FFE8E8',fontSize: '30px',}).add();this.renderer.text('25-06-2014 13:20:41', 190, 310).attr({rotation: -25}).css({color: '#FFE8E8',fontSize: '30px',}).add()}}}},buttons: {contextButton: {menuItems: [{text: 'Print Chart',onclick: function() {this.renderer.text('-CONFIDENTIEL-', 350, 350).attr({rotation: -25,id:'1'}).css({color: '#FFE8E8',fontSize: '70px',}).add();this.renderer.text('NAME', 600, 300).attr({rotation: -25,id:'2'}).css({color: '#FFE8E8',fontSize: '30px',}).add();this.renderer.text('25-06-2014 13:20:41', 470, 330).attr({rotation: -25,id:'3'}).css({color: '#FFE8E8',fontSize: '30px'}).add();this.print(); $(#1).remove(); $(#2).remove(); $(#3).remove();}}, {text: 'Download PNG image', onclick: function() {this.exportChart({type: 'image/png'});}},{text: 'Download JPEG image', onclick: function() {this.exportChart({type: 'image/jpeg'});}},{text: 'Download PDF document', onclick: function() {this.exportChart({type: 'application/pdf'});}},{text: 'Download SVG vector image', onclick: function() {this.exportChart({type: 'image/svg xml'});},separator: false}]}}},"chart":{"renderTo":"hc_chart_1","type":"column"},"xAxis":{"categories":["this","is a","graph"]},"title":{"text":"T1"},"subtitle":{"text":"ST1_1"}});
 

Комментарии:

1. Вы получаете какие-либо ошибки в консоли (консоль javascript в браузере)

2. Да, я делаю ошибка: неперехваченная ошибка синтаксиса: неожиданный токен ЗАПРЕЩЕН. Я отредактирую вопрос со строкой, в которой ошибка

3. Поэтому проверьте свой синтаксис, скобки и т. Д.

4. нашел это!!! ошибка возникает из-за этого $(#1).remove(); # с обратной косой чертой (# используется для комментариев js). Спасибо за помощь, себ 🙂

5. да, я заменил # 1 на ‘# 1’, и все работает 🙂