[英]How to pass a variable from Twig to JavaScript
我正在使用这个脚本来制作这个图表1 。
<script>
$(function () {
$('#container1').highcharts({
chart: {
type: 'column',
options3d: {
enabled: true,
alpha: 10,
beta: 25,
depth: 70
}
},
title: {
text: 'Nombre De Demande Par Categorie'
},
subtitle: {
},
plotOptions: {
column: {
depth: 25
}
},
xAxis: {
categories: ['Education','Beauté Et Santé','Livraison','Maison Et Jardin','Mission Et Affaire','Evénement Et Restauration','Travaux Informatique']
},
yAxis: {
title: {
text: null
}
},
series: [{
name: 'Demandes',
data: [1,5,7,0,null,1,2]
}]
});
});
</script>
但是“数据”行必须有来自我的数据库的变量:
series: [{
name: 'Demandes',
data: [1,5,7,0,null,1,2]
}]
所以我在我的存储库中创建了一个新函数:
class DemandeRepository extends \Doctrine\ORM\EntityRepository
{
public function getNb($categorie_id)
{
$query = $this->createQueryBuilder('u');
$query->SELECT ('COUNT(u)');
$query->join('u.service','s');
$query->where('s.Categorie = :id');
$query->setParameter('id',$categorie_id);
return $query->getQuery()->getSingleScalarResult();
}
}
然后在控制器中我包含了这个功能:
class DashbroadController extends Controller
{
public function dashbroadAction()
{
$em = $this->getDoctrine()->getManager();
$Categorie = $em->getRepository("tutoBackofficeBundle:Categorie")->findAll();
$nb=array();
foreach ($Categorie as $categorie){
$nb[]=array(
'categorie'=>$categorie,
'count'=>$em->getRepository("tutoBackofficeBundle:Demande")->getNb($categorie)
);
}
return $this->render('tutoBackofficeBundle:Dashbroad:dashbroad.html.twig',array('nb'=>$nb));
}
}
在树枝上:
{% for n in nb %}
{{ n.categorie }} -> {{ n.count }}<br>
现在我想要这样的东西:
data: [{{ n.count }}]
但我不知道如何将我的变量从 Twig 传递给 Java Script 。
据我了解, data
包含没有任何标签的count
列表。
所以我想这会完成这项工作:
series: [{
name: 'Demandes',
data: [{% for n in nb %}{% if not loop.first %},{% endif %}{{ n.count }}{% endfor %}]
}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.