Вот кое-что, что может помочь.Справочная информация: на главной странице сайта отображается диаграмма, созданная с помощью highcharts , генератора диаграмм javascript.Поскольку диаграмме нужны значения из базы данных, мне нужно было создать шаблон Twig, который можно было бы использовать в качестве javascript.
Ключи: ...js.twig
файл, содержащий javascript, действие контроллера для рендеринга (не renderView) шаблона, и render(controller(...))
на страницах, где требуется скрипт для вставки скрипта.
Итак, у меня есть:
script.js.twig
$(document).ready(function () {
var options = {
chart: {
type: 'line'
},
title: {
text: 'Distributions, FY{{ chart.fy }} to date'
},
xAxis: {
categories: [{% for category in chart.categories %}{{category|raw}}{%endfor%}]
},
yAxis: {
title: {
text: 'Distributions'
}
},
series: {{ chart.series|raw }}
};
$('#linechart').highcharts(options);
})
И в index.html.twig "
<script type="text/javascript">
{{ render(controller('AppBundle:Default:script')) }}
</script>
и в../Controller/Default/script
public function scriptAction(FYChart $fiscalYearChart)
{
$chart = $fiscalYearChart->getDistsFYToDate();
return $this->render('Default/script.js.twig', array(
'chart' => $chart,
));
}