Symfony2 - Highcharts呈现空白div

时间:2015-07-01 11:18:54

标签: php symfony highcharts s

我刚刚在Symfony 2.7上安装了Highcharts Bundle,但我在尝试重现"用法示例"时已经遇到了问题。来自文档(cf https://github.com/marcaube/ObHighchartsBundle/blob/master/Resources/doc/usage.md

这是我的代码:

控制器

public function homepageAction() 
{
    $user = $this->getUser();

    $securityContext = $this->get('security.context');
    $authorization = $securityContext->isGranted('ROLE_REGISTERED_USER');

    if ($authorization) {

        // Charts Test

        $ob = new Highchart();
        $ob->chart->renderTo('piechart');
        $ob->title->text('Browser market shares at a specific website in 2010');
        $ob->plotOptions->pie(array(
            'allowPointSelect' => true,
            'cursor' => 'pointer',
            'dataLabels' => array('enabled' => false),
            'showInLegend' => true
        ));
        $data = array(
            array('Firefox', 45.0),
            array('IE', 26.8),
            array('Chrome', 12.8),
            array('Safari', 8.5),
            array('Opera', 6.2),
            array('Others', 0.7),
        );
        $ob->series(array(array('type' => 'pie', 'name' => 'Browser share', 'data' => $data)));

        return $this->render('MVPBundle:User:homepage.html.twig', array(
            'user' => $user,
            'chart' => $ob,
    ));

    } else {

        $url = $this->generateUrl('user_displayCompanyCreationForm');

        return $this->redirect($url);
    }
}

视图

<script src='{{ asset('bundles/mvp/js/jquery-2.1.4.js') }}' type="text/javascript"></script>
<script src='{{ asset('bundles/mvp/js/highcharts.js') }}' type="text/javascript"></script>
<script src='{{ asset('bundles/mvp/js/exporting.js') }}' type="text/javascript"></script>

<script type="text/javascript">
    {{ chart(chart) }}
</script>

<div id="piechart" style="min-width: 400px; height: 400px; margin: 0 auto"> </div>

经过一些研究,我明白它可以与JS文件的导入相关联,所以我确保文件的路径是可以的,并且Jquery是在Highcharts JS文件之前导入的,所以我真的不喜欢&#39 ;看看问题来自哪里...... :(

我将不胜感激任何帮助! :)

干杯,

2 个答案:

答案 0 :(得分:1)

您指的是错误的HTML ID

    $ob->chart->renderTo('piechart'); //This is looking for html element with id as piechart
    <div id="linechart" style="min-width: 400px; height: 400px; margin: 0 auto"> </div>

将其更改为

    $ob->chart->renderTo('linechart');

答案 1 :(得分:0)

如果有帮助:

我刚刚解决了这个问题。它来自jQuery依赖(不是来自导入的顺序,而是导入文件的版本)。实际上,它并不适用于2.1.4,而它与1.7.1相关......例如......)