繁体   English   中英

如何将变量从 Twig 传递给 JavaScript

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM