在symfony2中安装Javascript

时间:2013-08-13 07:57:16

标签: javascript symfony install

嗨Stackoverflow人。

我试图在测试树枝视图中使用javascript图表。这是观点:

    <h1>test</h1>
{% javascripts '@AcmeFooBundle/Resources/public/js/*' %}
  <script src="{{ asset_url }}"  type="text/javascript">
  window.onload = function () {
    var chart = new CanvasJS.Chart("chartContainer", {

  title:{
    text: "Fruits"              
  },
  data: [//array of dataSeries              
    { //dataSeries object

     /*** Change type "column" to "bar", "area", "line" or "pie"***/
     type: "column",
     dataPoints: [
     { label: "banana", y: 18 },
     { label: "orange", y: 29 },
     { label: "apple", y: 40 },                                    
     { label: "mango", y: 34 },
     { label: "grape", y: 24 }
     ]
   }
   ]
 });

chart.render();
  }


     </script>
      <script type="text/javascript" src="{{ asset_url }}"></script>
      {% endjavascripts %}

      <body>
      <div id="chartContainer" style="height: 300px; width: 100%;">
      </div>
    </body>

所以问题是没有安装javascript库,因为它返回给我这个错误消息:

  

在编译模板期间抛出异常(“您必须将PreditBundle添加到assetic.bundle配置以使用PreditBundle中的{%javascripts%}标记:Default:test.html.twig。”)“ PreditBundle:默认值:test.html.twig”

我尝试过的事情:

- 逐步遵循“如何使用资产进行资产管理”一页 - 使用控制台命令:assets:install和assetic:dump

感谢您的回答

2 个答案:

答案 0 :(得分:1)

您必须在config.yml中添加您的包。

assetic:
    bundle: [ PreditBundle ]

答案 1 :(得分:1)

您为scr元素定义了script属性,而不是使用内联JavaScript代码? 做其中之一:

<script src="..."></script>

或:

<script> alert(123); </script>

另外,{% javascript %}树枝块用于在一个步骤中渲染多个javascript资源。不适用于内联远程javascript文件。像这样使用它:

您-template.html.twig

{% javascript '@AcmeFooBundle/Resources/public/js/*' %}
<script src="{{ asset_url }}"  type="text/javascript">
{% javascript %}
<script>

    window.onload = function () {
    // ...

</script>

此外,您需要在config.yml中添加您的捆绑包,因为@oumlaote已经说明了。